sqlDataAdapter自动生成sqlUpdateCommand的SQL问题?

tujunhui 2003-07-25 11:21:06
生成SQL如下:
this.sqlUpdateCommand1.CommandText = "UPDATE zd_czy SET dm = @dm, mc = @mc, mm = @mm WHERE (dm = @Original_dm) AND (mc " +"= @Original_mc OR @Original_mc IS NULL AND mc IS NULL) AND (mm = @Original_mm OR" +" @Original_mm IS NULL AND mm IS NULL);SELECT dm, mc, mm FROM zd_czy WHERE (dm =" + " @dm)";
------------------
请问SELECT dm, mc, mm FROM zd_czy WHERE (dm =" +" @dm)";这句话到底有什么用呀。
...全文
73 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightheroes 2003-07-25
  • 打赏
  • 举报
回复
楼上所说正确,首先是更新纪录,然后找出更新后的字段 dm,mc,mm
查找的依据就是@dm变量的值。
比如说更新mm =1 的那列的mc=2。那么就可以查出来了
WHERE (dm =" +" @dm)";
个人认为应该修改为
WHERE (dm = @dm);
tujunhui 2003-07-25
  • 打赏
  • 举报
回复
to :snof(雪狼)
哦,我想再问一下,如果没有SELECT dm, mc, mm FROM zd_czy WHERE (dm =" +" @dm)";这句话还会调用merge方法吗?
雪狼1234567 2003-07-25
  • 打赏
  • 举报
回复
是取出数据库中变化了的数据,然后用dataset的merge方法把它更新到当前显示,但一般没用,我是把它删除掉了的,因为客户已经是更新后的数据啦,
qwbyxw 2003-07-25
  • 打赏
  • 举报
回复
应该是执行完Update语句后,再取出已更新的该条记录。
.NET的模式是逐笔更新。
tujunhui 2003-07-25
  • 打赏
  • 举报
回复
to: brbrm(般若波若密)
能不能说明白一些:
this.sqlSelectCommand1.CommandText = "SELECT dm, mc, mm FROM zd_czy";

SELECT dm, mc, mm FROM zd_czy WHERE (dm =" +" @dm)";
--------------

UpdateCommand和SELECTCommand怎么形成相关联呢?
brbrm 2003-07-25
  • 打赏
  • 举报
回复
传递的参数,将UpdateCommand和SELECTCommand相关联
附登陆代码: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; namespace 图书馆管理信息系统 { /// /// Form1 的摘要说明。 /// public class login : System.Windows.Forms.Form { private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; private System.Windows.Forms.Button button3; private System.Windows.Forms.TextBox userid; private System.Data.SqlClient.SqlConnection sqlConnection1; private System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1; private System.Data.SqlClient.SqlCommand sqlSelectCommand1; private System.Data.SqlClient.SqlCommand sqlInsertCommand1; private System.Data.SqlClient.SqlCommand sqlUpdateCommand1; private System.Data.SqlClient.SqlCommand sqlDeleteCommand1; private 图书馆管理信息系统.DataSet1 dataSet11; private System.Windows.Forms.TextBox textboxpass; /// /// 必需的设计器变量。 /// private System.ComponentModel.Container components = null; public login() { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // } /// /// 清理所有正在使用的资源。 /// protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows 窗体设计器生成的代码 /// /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(login)); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();

111,095

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧