2016-11-25 3 views
1

Ich habe ein Problem mit meinem Code unten. Ich möchte WSID-Daten von Datagridview in meine Excel-Datei einfügen. Wenn ich renne, gibt es ein Problem in meinem commanddir2.ExecuteNoQuery() und es sagt Parameter @wsid hat keinen Standardwert. Kann mir jemand helfen ?Parameter hat keinen Standardwert, Excel C#

string koneksi = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Dokumen\Alfon\Kerja\BCA\Program\Program-Pengisian-Uang-ATM-BCA-SOY\Program-Pengisian-Uang-ATM-BCA-SOY\bin\x86\Debug\ATM SLA SURABAYA.xlsx;Extended Properties='Excel 12.0 xml;HDR=YES';"; 


private void InputScheduleSaldoBtn_Click(object sender, EventArgs e) 
      { 

       for (int i = 0; i < ViewDataSaldoGV.Rows.Count; i++) 
       { 

       OleDbConnection kon2 = new OleDbConnection(konekpengisian); 
       OleDbCommand commanddir2 = kon2.CreateCommand(); 
       commanddir2.CommandText = @"INSERT INTO [Saldo$] ([WSID]) VALUES (@wsid)"; 
       commanddir2.Parameters.AddWithValue("@wsid", ViewDataSaldoGV.Rows[i].Cells["WSID"].Value); 
       textBox1.Text = i.ToString(); 

       kon2.Open(); 
       commanddir2.ExecuteNonQuery(); 
       kon2.Close(); 

      } 

      MessageBox.Show("Data berhasil disimpan"); 
} 

Antwort

0

Set DBNull, wenn Sie null Parameterwert haben

commanddir2.Parameters.AddWithValue("@wsid", ViewDataSaldoGV.Rows[i].Cells["WSID"].Value)?? DBNull.Value;     
+0

Ich habe versucht, den Code zu verwenden, und es kann nicht verwendet werden. Es heißt "Nur Zuweisung, Aufruf, Inkrementieren, Dekrementieren, Warten und neuer Objektausdruck können als Aussage verwendet werden" –

Verwandte Themen