各位大侠,我是初学者,在做批量更新时,如果查询语句是这样子的 select code,codename from xxxx 是没有问题的。
但如果是select code,rtrim(codename) codename from xxxx 就没有报任何错。但刷新后看到的结果还是没有更新。
但如果是select code,rtrim(codename) codename from xxxx 就没有报任何错。但刷新后看到的结果还是没有更新。
解决方案 »
- 有关手机网站的问题
- TFS 连接的项目没有锁的标识了
- 不同类引用.查找父窗体控件的问题.
- C#panel透明窗体最小化恢复后透明成黑色问题
- WINFORM中怎样将Datatable中的数据直接导入到固定格式的Excel中?
- 如何调用外部程序,并把外部程序的界面放到我的界面上
- 找私活,谁有
- (60分悬赏)我写的程序在每次刷新后,内存占用量都增加104K,这是为什么?
- 菜得要哭系列2:数据库中的时间类型和dateTimePicker……
- 请问在C#中当用Socket与服务器建立连接后,如何向服务器发送HTTP协议的指令,如GET、HEAD等?当发送了指令后,也应如何接收服务器响应的
- 在VC# 中怎么实下沉线啊?
- winform中的datagridview控件有行绑定事件吗?
select code,codename from xxxx 你在查询分析器里执行一下有没有区别,不就是codename去掉左边的空格?
public partial class Form1 : Form
{
//声明一个公共的dt
DataTable dt=null;
string strconn = string.Empty;
//声明一个公共的sql文本变量,查询和更新都通过这个来联通数据库
string sqltext = string.Empty; public Form1()
{
InitializeComponent();
//初始化变量
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
strconn = "server=.;uid=sa;pwd=;database=zjtssoft";
//下面这样子可以更新
sqltext = "select wage_code,wage_name from wagetao";
//如果像下面这样子就不能批量更新了。界面上显示是更新了,但重新取数据再绑定一下就还是原来的
sqltext = "select wage_code,rtrim(wage_name) wage_name from wagetao";
//加载数据
GetDate();
} private void GetDate()
{
using (SqlConnection conn = new SqlConnection(strconn))
{
SqlDataAdapter sda = new SqlDataAdapter(sqltext, conn);
//这里名为dt的Datatable必须是公共的
dt = new DataTable();
sda.Fill(dt);
//绑定datagridview
dataGridView1.DataSource = dt;
//绑定文本框
tB1.DataBindings.Clear();
tB1.DataBindings.Add("text", dt, "wage_code");
tB2.DataBindings.Clear();
tB2.DataBindings.Add("text", dt, "wage_name");
}
}
private void btnAlter_Click_1(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection(strconn))
{
SqlDataAdapter sda = new SqlDataAdapter(sqltext, conn);
SqlCommandBuilder scb = new SqlCommandBuilder(sda);
lock (this)
{
sda.Update(dt);
}
MessageBox.Show("更新成功");
GetDate();
}
} }