|  
 
 
一跳数据被更新至数据表后,数据库记录已经insert,但是前台程序还是没有查询到该跳数据。代码如下: C# code 
    //判断该配料单是否已经上传             string L_doc_no = dataGridView2.Rows[0].Cells[0].Value.ToString();             string sqlUser = " select * from CUX_CUT_DATA_INTERFACE cudi where cudi.doc_no= '" + L_doc_no + "'";                           DataTable dataTable ;                                dataTable = OracleHelper.GetDataTable(connectionString, CommandType.Text, sqlUser, null);             if (dataTable.Rows.Count > 1)             {                 MessageBox.Show("该配料单数据已经发布,不能重复发布");                 return;             }               else 
 以上代码中 dataTable = OracleHelper.GetDataTable(connectionString, CommandType.Text, sqlUser, null); 在不关闭当前窗口时,它总是保存第一次执行时的数据,如何能让每次都查询最新数据? 你得去看OracleHelper.GetDataTable是如何实现的  
 public static DataTable GetDataTable(string connectionString, CommandType cmdType, string cmdText, params OracleParameter[] commandParameters)         {             OracleCommand cmd = new OracleCommand();               using (OracleConnection connection = new OracleConnection(connectionString))             {                 PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);                   using (OracleDataAdapter da = new OracleDataAdapter(cmd))                 {                     DataTable dt = new DataTable();                     da.Fill(dt);                     return dt;                 }             }         }学会调试 可以解决你这个问题 学会分层 会让你的代码更好 实体类会比DataTable好用 dataTable.Rows.Count>1  这种查询 根本不需要拿那么多数据调试你的 da.Fill(dt); 语句呗,看看它“实际要执行的查询语句、运行返回的结果”。  
 |