首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

求解一个DeleteCommand为啥不能删除数据

2012-09-21 
求解一个DeleteCommand为什么不能删除数据如题上代码:C# codeusing (OracleDataAdapter da new OracleDa

求解一个DeleteCommand为什么不能删除数据
如题上代码:

C# code
using (OracleDataAdapter da = new OracleDataAdapter())            {                try                {                    string strSQL="Select * from t1";                     OpenConn();//打开连接                    OracleCommand cmd;                    OracleParameter parm;                    DataTable dt = new DataTable();                    cmd = new OracleCommand(strSQL, conn);                    da.SelectCommand = cmd;                    da.Fill(dt);                                        string delsql = "DELETE FROM t1 WHERE ID=:pID";                    cmd = new OracleCommand(delsql, conn);                    parm = cmd.Parameters.Add(":pID", OracleType.VarChar, 50, "ID");                    parm.SourceVersion = DataRowVersion.Original;                    da.DeleteCommand = cmd;                   // int a = da.Update(dt);                }                catch (Exception ex)                {                    //省略                }            }


以上代码不能删除对应的数据库里的记录,请高手指点。

[解决办法]
oracle中参数本身就是: 上面是没有问题的

真正的问题在于,你所填充的DataTable 是没有任何更新的,因此是不会最终执行删除操作的

因此在da.Update(dt); 之前你要保证你的DataTable 是有删除操作的

如下
C# code
adapter.Fill(dt);                        dt.Rows[1].Delete();//删除DataTable中的某一行,根据需要自行删除                        adapter.DeleteCommand = com;                        adapter.Update(dt); 

热点排行