Эх сурвалжийг харах

修改获取批次序列号

Hcsy 8 жил өмнө
parent
commit
42c97ccfb7

+ 8 - 8
UAS-MES/DataOperate/DataHelper.cs

@@ -255,7 +255,7 @@ namespace UAS_MES.DataOperate
             string sql = "select ";
             sql += AddField(Fields);
             sql += " from " + TableName + " where " + Condition;
-            
+
             command = new OracleCommand(sql, connection);
             Reconnect(command);
             OracleDataAdapter ad = new OracleDataAdapter(command);
@@ -479,7 +479,7 @@ namespace UAS_MES.DataOperate
         {
             string sql = "select count(1) from " + TableName + " where " + Condition;
             command = new OracleCommand(sql, connection);
-            
+
             Reconnect(command);
             OracleDataAdapter ad = new OracleDataAdapter(command);
             DataTable dt = new DataTable();
@@ -526,7 +526,7 @@ namespace UAS_MES.DataOperate
                 for (int i = 0; i < addpar.Length; i++)
                     command.Parameters.Add(new OracleParameter(addpar[i].ToString(), OracleDbType.Varchar2, names[i], ParameterDirection.Input));
             }
-            
+
             switch (Type.ToUpper())
             {
                 case "SELECT":
@@ -680,10 +680,10 @@ namespace UAS_MES.DataOperate
         /// </summary>
         /// <param name="SeqName"></param>
         /// <returns></returns>
-        public string[] GetSEQ(string SeqName, string TableName, int Num)
+        public string[] GetSEQ(string SeqName, int Num)
         {
             DataTable dt = new DataTable();
-            dt = (DataTable)ExecuteSql("select " + SeqName + ".nextval from (select 1 from " + TableName + " where rownum<" + (Num + 1) + ")", "select");
+            dt = (DataTable)ExecuteSql("SELECT " + SeqName + ".nextval  FROM DUAL CONNECT BY LEVEL<=" + Num, "select");
             string[] SerialNum = new string[dt.Rows.Count];
             for (int i = 0; i < dt.Rows.Count; i++)
             {
@@ -801,7 +801,7 @@ namespace UAS_MES.DataOperate
             command = new OracleCommand(sql, connection);
             Reconnect(command);
             command.ArrayBindCount = names[1].Length;
-            
+
             //因为第一个数组保存的是参数的名称,所以循环从1而不是0开始
             //将第一个数组的下标固定为0作为循环添加的参数的名称
             for (int i = 1; i <= names[0].Length; i++)
@@ -911,7 +911,7 @@ namespace UAS_MES.DataOperate
         {
             string sql = "update " + TableName + " set " + update + " where " + condition;
             command = new OracleCommand(sql, connection);
-            
+
             Reconnect(command);
             try
             {
@@ -970,7 +970,7 @@ namespace UAS_MES.DataOperate
             {
                 foreach (string sql in SQL)
                 {
-                    
+
                     if (!String.IsNullOrEmpty(sql))
                     {
                         command.CommandText = sql;