解决方案 »

  1.   

    谁知道 OracleHelper.GetDataTable 是什么呢?
      

  2.   

    你得去看OracleHelper.GetDataTable是如何实现的
      

  3.   

     DataTable dataTable = new Datatable();
    dataTable = null;  if (dataTable.Rows.Count > 1)
                {
                    MessageBox.Show("该配料单数据已经发布,不能重复发布");
                    return;
                }
    //当查询出数据的时候 你要绑定数据吧
      

  4.   


       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;
                    }
                }
            }
      

  5.   

      private static void PrepareCommand(OracleCommand cmd, OracleConnection conn, OracleTransaction trans, CommandType cmdType, string cmdText, OracleParameter[] commandParameters)
            {
                if (conn.State != ConnectionState.Open)
                    conn.Open();            cmd.Connection = conn;
                cmd.CommandText = cmdText;
                cmd.CommandType = cmdType;            if (trans != null)
                    cmd.Transaction = trans;            if (commandParameters != null)
                {
                    foreach (OracleParameter parm in commandParameters)
                        cmd.Parameters.Add(parm);
                }
            }
      

  6.   

    学会调试 可以解决你这个问题
    学会分层 会让你的代码更好
    实体类会比DataTable好用
    dataTable.Rows.Count>1  这种查询 根本不需要拿那么多数据
      

  7.   

    调试你的 da.Fill(dt); 语句呗,看看它“实际要执行的查询语句、运行返回的结果”。