=波波日志 > Asp.Net/C#/WCF > SqlDataAdapter.DeleteCommand删除记录=

[转]SqlDataAdapter.DeleteCommand删除记录

  使用SqlDataAdapter.DeleteCommand删除记录的实例代码如下
+展开
-C#
SqlConnection nwindConn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
nwindConn.Open();
SqlDataAdapter catDA = new SqlDataAdapter("SELECT CategoryID, CategoryName FROM Categories", nwindConn);
DataSet catDS = new DataSet();
catDA.Fill(catDS, "Categories");

catDA.DeleteCommand = new SqlCommand("DELETE FROM Categories WHERE CategoryID=@CategoryID", nwindConn);
SqlParameter workParm3 = catDA.DeleteCommand.Parameters.Add("@CategoryID", SqlDbType.Int);
workParm3.SourceColumn = "CategoryID";
workParm3.SourceVersion = DataRowVersion.Original;
catDS.Tables["Categories"].Rows[catDS.Tables["Categories"].Rows.Count - 1].Delete();
catDA.Update(catDS, "Categories");

nwindConn.Close();
Console.WriteLine("按任意键继续...");
Console.ReadLine();


  运行失败,无法删除数据库记录,想破脑袋也搞不清楚怎么回事,在网上查了N多资料,从http://maocom.com/resources/program /html/200686/8358.htm 得到一个重要的信息,那就是 SelectCommand 是 select * from tablename 的形式,而不是我的仅仅只有部分字段,因此把上面的
+展开
-C#
SqlDataAdapter catDA = new SqlDataAdapter("SELECT CategoryID, CategoryName FROM Categories", nwindConn);

修改成
+展开
-C#
SqlDataAdapter catDA = new SqlDataAdapter("SELECT * FROM Categories", nwindConn);

就可以了。
来源:http://blog.csdn.net/ifan_net/article/details/1378466
类别:Asp.Net/C#/WCF 作者:转载 日期:2011-12-26 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012,桂ICP备05005887号 京公网安备1101055090