语句如下
string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'WHERE '"+this.TextBox2.Text+"'='A'";
目的:当TextBox2的内容为字母A时,更新数据库的A列
(数据库共有四列,名称分别是A、B、C、D)
在执行时,抱错,我觉得应该是格式不对,那位大哥能指教一下?
敬礼!

解决方案 »

  1.   

    string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'WHERE '"+this.TextBox2.Text+"'='A'";
    -----------------------------------------------------------------------
    "+this.TextBox2.Text+"'='A'"   这是什么意思?
      

  2.   

    还有,为什么update的时候整个列都被update了,有什么办法可以只更新最下面的一组数据〉?
      

  3.   

    "+this.TextBox2.Text+"'='A'"   这是什么意思?
    ============================================
    我是想:当this.TextBox2.Text为字母A时,更新数据
      

  4.   

    if (this.TextBox2.Text == "A")
    {
        string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"';
        .......
    }
      

  5.   

    多谢,但用数据库中的where语句该怎么写呢?
      

  6.   

    string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'WHERE '"+this.TextBox2.Text+"'='A'";
    --两个地方错了
    1,少了空格
    2,WHERE 'A' = 'A' 没有意义
    改为
    string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"' WHERE A ='A'";
      

  7.   

    最下面的一组数据什么条件?
    =============================
    我的目的是这样的,有两个文本框,当textbox1.text为字母A时,单击按键,将textbox2.text更新至数据库中的A列,如果textbox1.text为字母B,则将textbox2.text更新至数据库中的B列----
      

  8.   

    如过是多条数据回全部更新A字段
    string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'";
    一条就没问题了
    你的数据没有主键?
      

  9.   

    我设置主键时报一下错误“Table1”表
    - 无法创建索引“PK_Table1”。  
    ADO 错误: CREATE UNIQUE INDEX 终止,因为发现了索引 ID 1 的重复键。最重要的主键为 '          '。
    未能创建约束。请参阅前面的错误信息。
    语句已终止。
      

  10.   

    这下有主见了,呵呵
    可是这个where该怎么改呢?
      

  11.   

    你每次插入数据时都往主键里加一个值如1,2,3...这样排下去
    string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'where zhujian in (select max(zhujian  from Table1) ";
      

  12.   

    string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'where zhujian in (select max(zhujian)  from Table1) ";
      

  13.   

    if (this.TextBox2.Text == "A")
    {
     string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'where zhujian in (select max(zhujian)  from Table1) ";
    .......
    }
      

  14.   

    可以,这个问题解决了,现在就是如何使用where语句,update了
    多谢你啦
      

  15.   

    A= '"+this.TextBox2.Text+"'WHERE '"+this.TextBox2.Text+"'='A'";
    改为:
    A= '"+this.TextBox2.Text+"'WHERE "+this.TextBox2.Text+"='A'";但这样还是不安全,会有恶意SQL注入的情况
      

  16.   

    string strSQL="UPDATE Table1 SET A= '"+this.TextBox2.Text+"'WHERE '"+this.TextBox2.Text+"'='A'";
    -------------------------------------------------------------------------
    应该等同于下面的吧
    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中数据不作更新吗?