用相同的格式的select操作没错误,我该怎么办。Help!

解决方案 »

  1.   

    To: lese9(乐色.Net)
    好!
    数据库表名称:商品
    商品ID      char(10)    /primary key
    商品价格    char(10)    /可以 null
    商品数量    char(10)    /可以null  插入的数据在TextBox中写入的,我想我写入的字符
    应该不会超长的。
      

  2.   

    数据类型不符合吧商品价格,商品数量应该是数子,所以SQL语句中不能用单引号你的SQL也有点怪~,sqlstr+=sqlstr+="')";是什么意思哦~
    sqlstr+="insert into password (商品ID,商品价格,商品数量) values ( ";
    sqlstr+="'";
    sqlstr+=this.textBox12.Text;
    sqlstr+="',";
    sqlstr+=this.textBox11.Text;
    sqlstr+=",";
    sqlstr+=this.textBox10.Text;
    sqlstr+=")";
      

  3.   


    To: lese9(乐色.Net) 
        实验插入数据时在TextBox 中没有用引号To: LiSDN(LOCK ON) 
      哦,我对:商品ID    商品价格    商品数量  用char型数据只是为了方便。
      sqlstr+=sqlstr+="')";意思是怕我自己把Sql语句写错而用字符串想加,那样的
    话思路要明了点,仅此而已。
      

  4.   

    你调试的时候可以把SQL语句Show出来,然后拷贝到查询分析器里面去运行一把
    如果查询分析器能够正常运行,而这样不行的就是权限的问题
    在其中注意单引号要替换成双单引号
      

  5.   

    to llansquenet(佣兵小队长.NET) 你说的在“调试的时候可以把SQL语句Show出来,”怎么输出,我还不懂,,
    请指教,to 楼主,你怕弄错,也没有必要用sqlstr+=sqlstr+="')";这个呀,(不是解决你的问题)我想问,你报错信息:未处理的“System.Data.SqlClient.SqlException”类型的异常出现在 system.data.dll 中。  那你的 .dll文件中是什么??是不是说出来大家好解决一点
      

  6.   

    1.  LiSDN(LOCK ON) is correct, you are adding an extra "')" in your sqlchange
    sqlstr+=sqlstr+="')";
    ===>
    sqlstr += "')";2. you should use parameterized query, since your method is susceptible to SQL inject attack, or you at least need to do
    string  sqlstr= String.Format("insert into password (商品ID,商品价格,商品数量) values ('{0}','{1}','{2}')",
    this.textBox12.Text.Replace("'","''"), 
    this.textBox11.Text.Replace("'","''"),
    this.textBox10.Text.Replace("'","''"));
      

  7.   

    string  sqlstr="";
    sqlstr+="insert into password (商品ID,商品价格,商品数量) values ( ";
    sqlstr+="'";
    sqlstr+=this.textBox12.Text;
    sqlstr+="','";
    sqlstr+=this.textBox11.Text;
    sqlstr+="','";
    sqlstr+=this.textBox10.Text;
    sqlstr+=sqlstr+="')";
    錯誤就出在這個sqlstr上面!!!
      

  8.   

    string  sqlstr="";
    sqlstr="insert into password(商品ID,商品价格,商品数量) values('"+TextBox12.Text+",'"+TextBox11.Text+"','"+TextBox10.Text+"')";
    應該是這個樣子取值才對!
      

  9.   


    哈哈,我自己多加了个引号。谢谢大家!结贴
    To:
         saucer(思归)   LiSDN(LOCK ON)
     在次感谢你们的细心,你们细心的工作学习态度我要向你们学习。
    To:
        The rest
    感谢大家的帮助.我第一次发贴,人人有分!谢了.
      

  10.   

    设断点,跟踪,取相应语句在SQL 中执行
      

  11.   

    如果一定要分解成你那樣子,就應該是這樣的,和你的是不同的:
    string sqlstr="";
    sqlstr+="insert into password(商品ID,商品价格,商品数量) values(";
    sqlstr+="'\"+";
    sqlstr+=this.textBox12.Text;
    sqlstr+="+\"','\"+";
    sqlstr+=this.textBox11.Text;
    sqlstr+="+\"','\"+";
    sqlstr+=this.textBox10.Text;
    sqlstr+="+\"')";就是上面這樣子的,肯定不會錯!;)
    PS;想問問,password這張表的字段為甚麼會是中文名???