"INSERT INTO DGclub部门 (部门编号,部门名称,备注)VALUES("                + "'" + 部门编号.Text.Trim() + "',"
                + "'" + 部门名称.Text.Trim() + "',"
                + "'" + 备注.Text.Trim() + "'"                + ")"
这个SQL语句是什么意思,我知道是添加记录的意思,但我不明白那些+号和“”号有什么用,我看过的SQL语句是这样的啊INSERT INTO XXX (XXX,XXX)VALUES(1,'abc'),添加数值就不用单引号,字符就用单引号,不是这样的吗?怎么加TextBox就变那么复杂了?有人能解释一下吗?最好详细点,我是新手,谢谢各位。

解决方案 »

  1.   

    你怎么知道TEXTBOX输入的一定是数值呢?
    除非你在输入的时候就已经限制只能输入数值!
      

  2.   

    +:拼接字符串
    如a + b + c 等价于 abc
      

  3.   

    +号 是用来拼接sql语句用的 这个主要是用在 vs里边拼接字符串使用  举个例子 正常的sql语句是: insert into TableA(id,name)values(2,'tom') 那么在vs当中使用拼接符号+号 的样子就是这个样子 "insert into TableA(id,name)values("+2+",'"+"tom"+"')"
    '号 是用在sql语句当中,用来向数据库中插入字符数据使用的,如果你注意的话 会发现 上边的例子:
    "insert into TableA(id,name)values(    " + 数值数据(2) + " , '   " + 字符数据(tom) + " '   )  "你将上边的这个去掉双引号 和 加号 就可以看到真正的sql语句了: 
     insert into TableA(id,name)values(    2                  , '        tom             '   )建议: 推荐使用vs的调试功能来查看 有关代码的 执行前后的代码状况 应该你可以查看到一般情况下 遇到以上的情况 '号 用于sql语句内  + 号 用于拼接字符串 "用于描述字符串  
      

  4.   

    又碰到这个问题
    双引号在C#中起作用,单引号在SQL语句中起作用.“ABC”表示一个字符串,"ABC"+"123"表示两个字符串相加,结果的“ABC123”,所以你的那个语句的结果应该是:INSERT INTO DGclub部门 (部门编号,部门名称,备注)VALUES(                '部门编号', 
                    '部门名称', 
                    '备注'
                    ) 
    这就是一个标准的SQL语句来
      

  5.   

    针对于上边这个问题 我建议你查看一下DGclub部门表的列的值类型 有可能 部门编号的值类型就是 字符类型的
      

  6.   

    还是有问题....
    我明白了 '"+部门编号.Text.Trim()+"' 的意思了
    但是这个句子 "+ "'" + 部门编号.Text.Trim() + "',怎么前面又会有个"+",那连成一起不就是
    (""'"部门编号.Text.Trim()", ""'"部门名称.Text.Trim()", ""'"备注.Text.Trim()""")
    了吗?那多出的双引号又是什么意思?
      

  7.   

    不是应该是('"部门编号.Text.Trim()", '"部门名称.Text.Trim()", '"备注.Text.Trim()"') 这样才对吗?
      

  8.   


    SQL语句应该是"INSERT INTO DGclub部门 (部门编号,部门名称,备注)VALUES(' 部门编号', ' 部门名称', ' 备注' )+将字符串相加。
    字符串在C#中,用双引号括起来。所以才这样:
    INSERT INTO DGclub部门 (部门编号,部门名称,备注)VALUES(" 
                    + "'" + 部门编号.Text.Trim() + "'," 
                    + "'" + 部门名称.Text.Trim() + "'," 
                    + "'" + 备注.Text.Trim() + "'" 
                    + ")" 
    自己再看一下,是否能理解。
      

  9.   

    部门编号.Text.Trim() 
    部门名称.Text.Trim() 
    备注.Text.Trim() 
    将这三个理解为变量,它的值为字符型。
      

  10.   

    我拆分完之后是这样的啊:
    VALUES(" '部门编号.Text.Trim()', '部门名称.Text.Trim()', '备注.Text.Trim()' ")
    在()里还有一对大双引号...SQL语句的不是没有大双引号吗?怎么这样?
      

  11.   

    我是楼主
    是不是这个语句有问题啊....
    是不是应该是这样的啊?
     
    "INSERT INTO DGclub部门 (部门编号,部门名称,备注)VALUES(                '" + 部门编号.Text.Trim() + "',
                    '" + 部门名称.Text.Trim() + "', 
                    '" + 备注.Text.Trim() + "')"  
      

  12.   

    建议用string.format(...)看起来直观点。