怎样将DataSet中修改(增加,删除,修改)过的记录更新进数据库中??用DataGrid显示的
1。增加
string source = "user id=spm;data source=spmdb;password=spm";
string sele = "select * from TEST_DEPT1";
、、、、、、
OracleConnection conn = new OracleConnection(source);
conn.Open();
OracleDataAdapter da = new OracleDataAdapter(sele,conn);
DataSet ds = new DataSet();
da.Fill(ds,"DEPT1");
DataRow row = ds.Tables["DEPT1"].NewRow();
row[0] = Convert.ToInt32(textBox1.Text.Trim());
row[1] = textBox2.Text.Trim();
ds.Tables["DEPT1"].Rows.Add(row);
dataGrid1.SetDataBinding(ds,"DEPT1");
// da.Update(ds,"DEPT1"); 用这种方式有时侯好象不行的?有时候行??
conn.Close();
、、、、、
2。删除
string source = "user id=spm;data source=spmdb;password=spm";
string sele = "select * from Test_Dept1";
string strDeptNo;
int i;
OracleConnection conn = new OracleConnection(source);
conn.Open();
OracleDataAdapter da = new OracleDataAdapter(sele,source);
DataSet ds = new DataSet();
da.Fill(ds,"Dept1");
i = dataGrid1.CurrentRowIndex ;
strDeptNo = ds.Tables["Dept1"].Rows[i]["DEPTNO"].ToString();
ds.Tables["Dept1"].Rows[i].Delete();
ds.AcceptChanges();
da.Update(ds,"Dept1");
dataGrid1.SetDataBinding(ds,"Dept1");
//如果不用下面三行代码,怎么样将DataSet中删除的记录更新进数据库中?
string dele = "delete from TEST_DEPT1 where DEPTNO=" + strDeptNo;
OracleCommand cmd = new OracleCommand(dele,conn);
cmd.ExecuteNonQuery();
conn.Close();
、、、、、、
3。对于简单的修改(增加,删除,修改)不用DataSet应该简单些吧?即用SQL直接对数据库操作
谈谈你的看法:什么时候用DataSet?什么时候用SQL直接对数据库操作?
string source = "user id=spm;data source=spmdb;password=spm";
string insert = "insert into TEST_DEPT (DEPTNO,DNAME) values (90,'ee')";
string sele = "select * from TEST_DEPT";
、、、、、、
OracleConnection conn = new OracleConnection(source);
conn.Open();
OracleCommand cmd = new OracleCommand(insert,conn);
cmd.ExecuteNonQuery();
OracleDataAdapter da = new OracleDataAdapter(sele,conn);
DataSet ds = new DataSet();
da.Fill(ds,"DEPT");
dataGrid1.DataSource = ds.Tables["DEPT"];
conn.Close();
、、、、、、、