2016-06-24 8 views
0

DataGridViewを使用してデータがアクセステーブルに挿入されるアプリケーションを1つ作成しています。問題は、2つの値(S)が正しく挿入されているが、私は数値を挿入しようとしているとき、それは0数値はアクセスデータベースに0を挿入します

private void dataGridView1_RowLeave(object sender, DataGridViewCellEventArgs e) 
{ 
    try 
    { 
     if (dataGridView1.IsCurrentRowDirty) 
     { 
      string connectionString = ConfigurationManager.ConnectionStrings["AccessConnectionString"].ConnectionString; 
      con.ConnectionString = connectionString; 

      string cmd1 = "insert into Medicine_Available_Detail([Medicine_Name],[Dealer_name],[total_available])values(?,?,?)"; 
      OleDbCommand cmd = new OleDbCommand(cmd1, con); 

      cmd.CommandType = CommandType.Text; 

      string Medicine_Name = dataGridView1.Rows[e.RowIndex].Cells["Medicine_Name"].Value.ToString(); 
      cmd.Parameters.AddWithValue("@Medicine_Name", Medicine_Name); 

      string Dealer_name = dataGridView1.Rows[e.RowIndex].Cells["Dealer_name"].Value.ToString(); 
      cmd.Parameters.AddWithValue("@Dealer_name", Dealer_name); 

      int Availability; 
      bool total_availableHasValue = int.TryParse(dataGridView1.Rows[e.RowIndex].Cells["total_available"].Value.ToString(), out Availability); 
      cmd.Parameters.AddWithValue("@total_available", Availability); 

      con.Open(); 
      int n = cmd.ExecuteNonQuery(); 
      con.Close(); 
      if (n > 0) 
      { 
       MessageBox.Show("Data Inserted Successfully", "Data Inserted ", MessageBoxButtons.OK, MessageBoxIcon.Information); 
      } 
     } 
    } 
} 

enter image description here

+0

どのようなカラムが機能し、どのカラムが数値ではないのかを説明してください。 – dbmitch

答えて

0

として挿入されますことをおそらく「可用性」の数値です。 total_availableのdatagridviewの値が数値であることを確認してください。そうでない場合、Availableは0になります。

parseまたはlog/debugの後にtotal_availableHasValueをテストして、datagridviewセルの内容をチェックできます。

+0

私は以下のコードを行ったが、それでもelse条件に入り、0として挿入している。 bool total_availablehasvalue = int.TryParse(dataGridView1.Rows [e.RowIndex] .Cells ["total_available"]。Value.ToString()、out可用性); (合計利用可能な値) } else { cmd.Parameters.AddWithValue( "@ total_available"、DBNull.Value); } – Atul

+0

[OK]を、しかし何の実際の値である:。 dataGridView1.Rows [e.RowIndex] .Cellsは、[ "total_available"]の値 するとコンソールに出力またはデバッグすることはできますか? – Grayman

+0

Grayman:画像を追加しました。出力は0になり、nullに挿入されました。 – Atul

関連する問題