我一直在努力弄清楚爲什麼我的代碼不工作。 我想從數據集中讀取來自訪問數據庫的數據,並將數據插入到先前創建的Oracle數據庫中。 當我嘗試下面的代碼時,它不會工作,雖然我使用try和catch塊,但在調試時它會凍結,並且不會顯示任何錯誤。 如果能看到,我已註釋掉塊正好我上面的foreach loop..which完美的作品,從你任何幫助這麼多的讚賞:使用C將數據從DataSet移動到Oracle數據庫#
private void button3_Click(object sender, EventArgs e)
{
string query1 = "Select * from Test;";
string StrQuery= "Insert Into TEST (ID, DATA) Values (:ID, :DATA)";
Conn = new OleDbConnection(connStr);
Conn.Open();
using (OleDbConnection connection1 = new OleDbConnection(connStr))
{
using (OleDbDataAdapter adapter1 = new OleDbDataAdapter(query1, connection1))
{
DataSet ds1 = new DataSet();
adapter1.Fill(ds1);
// no need for refilling DataGridView1.DataSource = ds.Tables[0]
// insterting the dataset into oracle
try
{
using (OracleConnection connect = new OracleConnection(oradb1))
{
connect.Open();
using (OracleCommand comma = new OracleCommand(StrQuery, connect))
{
/*comma.Parameters.Add(new OracleParameter(":ID", 2));
comma.Parameters.Add(new OracleParameter(":DATA", 2));
comma.ExecuteNonQuery();*/
foreach (DataRow drRow in ds1.Tables[0].Rows)
{
for (int i = 0; i < ds1.Tables[0].Columns.Count; i++)
{
comma.Parameters.Add(new OracleParameter(":ID", drRow[i]));
comma.Parameters.Add(new OracleParameter(":DATA", drRow[i]));
comma.ExecuteNonQuery();
}
}
connect.Close();
connect.Dispose();
}
}
}
catch (OracleException)
{
System.Diagnostics.Debugger.Break();
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
Conn.Close();
}
您好Judgemaik,謝謝你的回覆。我注意到了循環並做了一些修改,但仍然不太清楚在參數中添加值的含義。有沒有另外一種方法可以直接將數據從datagridview移動到我的oracle數據庫中? –
謝謝它最終使用datagridview –