语句如下
string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'WHERE '"+this.TextBox2.Text+"'='A'";
目的:当TextBox2的内容为字母A时,更新数据库的A列
(数据库共有四列,名称分别是A、B、C、D)
在执行时,抱错,我觉得应该是格式不对,那位大哥能指教一下?
敬礼!
string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'WHERE '"+this.TextBox2.Text+"'='A'";
目的:当TextBox2的内容为字母A时,更新数据库的A列
(数据库共有四列,名称分别是A、B、C、D)
在执行时,抱错,我觉得应该是格式不对,那位大哥能指教一下?
敬礼!
-----------------------------------------------------------------------
"+this.TextBox2.Text+"'='A'" 这是什么意思?
============================================
我是想:当this.TextBox2.Text为字母A时,更新数据
{
string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"';
.......
}
--两个地方错了
1,少了空格
2,WHERE 'A' = 'A' 没有意义
改为
string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"' WHERE A ='A'";
=============================
我的目的是这样的,有两个文本框,当textbox1.text为字母A时,单击按键,将textbox2.text更新至数据库中的A列,如果textbox1.text为字母B,则将textbox2.text更新至数据库中的B列----
string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'";
一条就没问题了
你的数据没有主键?
- 无法创建索引“PK_Table1”。
ADO 错误: CREATE UNIQUE INDEX 终止,因为发现了索引 ID 1 的重复键。最重要的主键为 ' '。
未能创建约束。请参阅前面的错误信息。
语句已终止。
可是这个where该怎么改呢?
string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'where zhujian in (select max(zhujian from Table1) ";
{
string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'where zhujian in (select max(zhujian) from Table1) ";
.......
}
多谢你啦
改为:
A= '"+this.TextBox2.Text+"'WHERE "+this.TextBox2.Text+"='A'";但这样还是不安全,会有恶意SQL注入的情况
-------------------------------------------------------------------------
应该等同于下面的吧
string v_textbox2_value = this.TextBox2.Text;
string strSQL="UPDATE Table1 SET A= '"+v_textbox2_value+"'WHERE '"+v_textbox2_value+"'='A'";
-------------------------------------------------------------------------照此组合出的SQL语句(假定此时this.TextBox2.Text = "A")应该为
UPDATE Table1
SET A= 'A'
WHERE 'A'='A'如果 TextBox2 中 填写的内容是"A",那么你要让表Table1.A 都等于 "A" 吗?
相反,如果 TextBox2 中 填写的内容是 B,那么表Table1中数据不作更新吗?