实际更新SqlDataSource [英] Updating SqlDataSource Pragmatically

查看:72
本文介绍了实际更新SqlDataSource的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

SqlDataSource Name = ds_CompanyDetails



ds_CompanyDetails更新命令



 UpdateCommand =DECLARE @CompanyName NVARCHAR(50)DECLARE @CompanyDetailId INT UPDATE CompanyDetail SET CompanyName = @ CompanyName WHERE CompanyDetailId = @ CompanyDetailId





按钮单击尝试更新SqlDataSource

  protected   void  btnSave_Click( object  sender,EventArgs e)
{
ds_CompanyDetails.UpdateParameters.Add( @ CompanyName,txtCompanyName.Text);
ds_CompanyDetails.UpdateParameters.Clear();
ds_CompanyDetails.UpdateParameters.Add( @ CompanyDetailId,lblId.Text);
ds_CompanyDetails.UpdateParameters.Clear();
ds_CompanyDetails.Update();
ds_CompanyDetails.DataBind();
Response.Redirect( 〜/ Company.aspx);
}





按钮点击后什么也没发生。

有什么错误吗?

解决方案

我可以看到两个问题...

1.你的SQL写在一行中,没有分隔符(如;) ,所以它应该导致SQL端的一些错误...尝试这样的事情:

 UpdateCommand =   DECLARE @CompanyName NVARCHAR(50); DECLARE @CompanyDetailId INT; UPDATE CompanyDetail SET CompanyName = @ CompanyName WHERE CompanyDetailId = @ CompanyDetailId; 



2.初始化后立即清除所有参数...更改代码如下:

 ds_CompanyDetails.UpdateParameters。明确(); 
ds_CompanyDetails.UpdateParameters.Add( @ CompanyName,txtCompanyName.Text);
ds_CompanyDetails.UpdateParameters.Add( @ CompanyDetailId,lblId.Text);


SqlDataSource Name = ds_CompanyDetails

ds_CompanyDetails Update Command

UpdateCommand="DECLARE @CompanyName NVARCHAR(50) DECLARE @CompanyDetailId INT UPDATE CompanyDetail SET CompanyName=@CompanyName WHERE CompanyDetailId=@CompanyDetailId"



On Button Click trying to update SqlDataSource

protected void btnSave_Click(object sender, EventArgs e)
        {
            ds_CompanyDetails.UpdateParameters.Add("@CompanyName",txtCompanyName.Text);
            ds_CompanyDetails.UpdateParameters.Clear();
            ds_CompanyDetails.UpdateParameters.Add("@CompanyDetailId", lblId.Text);
            ds_CompanyDetails.UpdateParameters.Clear();
            ds_CompanyDetails.Update();
            ds_CompanyDetails.DataBind();
            Response.Redirect("~/Company.aspx");
        }



after button click nothing is happened.
Is there any mistake?

解决方案

I can see two problems...
1. Your SQL is written in a single line and no separators (like ; ) in between, so it should lead to some errors on the SQL side...Try something like this:

UpdateCommand="DECLARE @CompanyName NVARCHAR(50); DECLARE @CompanyDetailId INT; UPDATE CompanyDetail SET CompanyName=@CompanyName WHERE CompanyDetailId=@CompanyDetailId;"


2. You clear all the parameters immediately after you init them...Change your code like this:

ds_CompanyDetails.UpdateParameters.Clear();
ds_CompanyDetails.UpdateParameters.Add("@CompanyName",txtCompanyName.Text);
ds_CompanyDetails.UpdateParameters.Add("@CompanyDetailId", lblId.Text);


这篇关于实际更新SqlDataSource的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆