积极答复者
简单的sql语句,后台执行没反应?

问题
-
ReceivableTable表(用来计算收入的表)有一列 LeaseAssureMoneyR11(11月份押金、int类型), LeaseAssureMoneyR12(12月份押金、int类型)。
我要实现一个很简单的更新,SQL语句如下:“update ReceivableTable set LeaseAssureMoneyR12= LeaseAssureMoneyR11 ”
我把ReceivableTable表用ASP.NET做成一个界面,并且在界面上添加了一个Button_LeaseAssureMoney,只要点击这个按钮,就能实现上面的SQL语句功能。下面是我后台的相关代码:
点击了以后没有反应,估计是我的后台代码少了内容,应该怎么修改呢?请各位帮我看看!谢谢!
-------------------------------代码1---------------------------------protected void Button_LeaseAssureMoney_Click(object sender, EventArgs e) { string strconn=ConfigurationManager.ConnectionStrings ["长铁物业公司资产数据库ConnectionString"].ToString(); SqlConnection cn = new SqlConnection(strconn); string orderstate = "update ReceivableTable set LeaseAssureMoneyR12= LeaseAssureMoneyR11"; SqlDataAdapter da = new SqlDataAdapter(orderstate ,cn); }
C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!
答案
-
使用SqlCommand.ExecuteNonQuery()方法
【孟子E章】
- 已标记为答案 linjiangxian11 2013年4月17日 8:58
全部回复
-
使用SqlCommand.ExecuteNonQuery()方法
【孟子E章】
- 已标记为答案 linjiangxian11 2013年4月17日 8:58
-
这样也可以:
protected void Button_LeaseAssureMoney_Click(object sender, EventArgs e)
{
string strconn=ConfigurationManager.ConnectionStrings ["长铁物业公司资产数据库ConnectionString"].ToString();
SqlConnection cn = new SqlConnection(strconn);
string orderstate = "update ReceivableTable set LeaseAssureMoneyR12= LeaseAssureMoneyR11";
SqlCommand da = new SqlCommand(orderstate ,cn);
using (cn)
{cn.Open();
da.ExecuteNonQuery();
}
} -
要特别说明一下!最好是直接从SQL中取值,再在界面上显示出来才行!因为界面上只有TextBox_LeaseAssureMoney12,没有TextBox_LeaseAssureMoney11,而且我的更新语句只是个示例!实际的SQL更新语句是添加了一些条件的,所以不能简单的使用“TextBox_LeaseAssureMoney12.Text=LeaseAssureMoneyR11.Text;”
请问,该怎么修改呢?用Response.write()似乎太笨了,而且还要刷新一次界面,比较慢!
或者,在page_Load中添加一个脚本,提示用户是否要执行“SQL更新语句:“update ReceivableTable set LeaseAssureMoneyR12= LeaseAssureMoneyR11。。。。。。。。 ””,如果用户选择“确定”,那么,界面打开时就把租金自动添加好了。
不知道哪样比较可行!?
C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!
-
要特别说明一下!最好是直接从SQL中取值,再在界面上显示出来才行!因为界面上只有TextBox_LeaseAssureMoney12,没有TextBox_LeaseAssureMoney11,而且我的更新语句只是个示例!实际的SQL更新语句是添加了一些条件的,所以不能简单的使用“TextBox_LeaseAssureMoney12.Text=LeaseAssureMoneyR11.Text;”
请问,该怎么修改呢?用Response.write()似乎太笨了,而且还要刷新一次界面,比较慢!
或者,在page_Load中添加一个脚本,提示用户是否要执行“SQL更新语句:“update ReceivableTable set LeaseAssureMoneyR12= LeaseAssureMoneyR11。。。。。。。。 ””,如果用户选择“确定”,那么,界面打开时就把租金自动添加好了。
不知道哪样比较可行!?
C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!
最简单直接的方法就是重新查询下数据库,绑定数据源到你所要显示的表单中。认真的活,认真的爱!
- 已建议为答案 ThankfulHeart 2013年1月27日 3:45
-
那就这样:
String strsql="select LeaseAssureMoneyR12 from ReceivableTable";
SqlConnection SqlConn = new SqlConnection(WebConfigurationManager.ConnectionStrings["长铁物业公司资产数据库ConnectionString"].ConnectionString);
SqlDataAdapter adapter = new SqlDataAdapter(strSql, SqlConn);
DataTable DataTable = new DataTable();
using (SqlConn)
{
SqlConn.Open();
adapter.Fill(DataTable);
}
TextBox_LeaseAssureMoney12.Text= DataTable.Rows[0]["LeaseAssureMoneyR12"].ToString();
当然strsql中应该加上条件.- 已编辑 盲人骑瞎马 2013年1月10日 23:44
- 已建议为答案 ThankfulHeart 2013年1月27日 3:46
- 取消建议作为答案 linjiangxian11 2013年1月29日 9:05
-
把:
String strsql="select LeaseAssureMoneyR12 from ReceivableTable";
SqlConnection SqlConn = new SqlConnection(WebConfigurationManager.ConnectionStrings["长铁物业公司资产数据库ConnectionString"].ConnectionString);
SqlDataAdapter adapter = new SqlDataAdapter(strSql, SqlConn);
DataTable DataTable = new DataTable();
using (SqlConn)
{
SqlConn.Open();
adapter.Fill(DataTable);
}
TextBox_LeaseAssureMoney12.Text= DataTable.Rows[0]["LeaseAssureMoneyR12"].ToString();写到:protected void Button_LeaseAssureMoney_Click(object sender, EventArgs e)里,点击Button“生成押金”后通过TextBox_LeaseAssureMoney12.Text= DataTable.Rows[0]["LeaseAssureMoneyR12"].ToString();已经对TextBox_LeaseAssureMoney12的值重新绑定了,如果还要对DropdownList重新绑定可以用类似:
DropDownList.SelectedValue==DataTable.Rows[0]["LeaseAssureMoneyR12"].ToString();
DropDownList.DataBind();同理Gridview.DataBind();来重新对Gridview绑定,总之吧需要重新绑定的放到按钮点击事件中就可以了。