【问题标题】:c# sql cannot convert varchar to int (Found a work around)c# sql 无法将 varchar 转换为 int(找到解决方法)
【发布时间】:2015-02-06 12:41:42
【问题描述】:

我试图将一些数据插入到 sql 服务器中,并且代码运行良好,直到我在最后添加了@instel。当我添加时出现错误“将数据类型 varchar 转换为数字时出错。”即使我将文本框留空。

我将它作为一个文本框,但由于我收到错误,我试图将它作为一个变量,但它仍然没有解决问题。该代码适用于要插入的 REL,这也是一个 int。 REL 和@instel 的数据库和文本框属性也相同。我也尝试将变量设置为 int,但它没有改变任何东西。如果有人知道这是为什么并且可以帮助我,将不胜感激。

 SqlCommand slMEVO_NAW = new SqlCommand(@"insert into NAW(REL,NAAM,BTW_CODE,TAV,STR,PL,LAND,PLBOX,TAAL,COUNTRY_C,TEL,FAX,EMAIL,XMAS,TEL2,STR1,INSTELINCL,INCOTERMS,PRODDAT,INSTEL) values('" + this.Txtbx_RelNmmr.Text + "','" + this.Txtbx_Bedrijf.Text + "','" + this.Txtbx_BtwCode.Text + "','" + this.Txtbx_Tav.Text + "','" + this.Txtbx_HuisAdres.Text + "','" + this.Txtbx_PstCde.Text + "','" + this.Txtbx_Land.Text + "','" + this.Txtbx_PstBs.Text + "','" + this.Txtbx_Taal.Text + "','" + this.Txtbx_LndCode.Text + "','" + this.Txtbx_Telnmmr.Text + "','" + this.Txtbx_Fax.Text + "','" + this.Txtbx_Email.Text + "','" + this.Txtbx_Xmas.Text + "','" + this.Txtbx_telnmmr2.Text + "','" + this.Txtbx_BezAdres.Text + "','" + this.TBX_Instelkstn.Text + "','" + this.Txtbx_Incot.Text + "','" + this.TBX_PrdctDtm.Text + "','@INSTEL' );", Connectie.connMEVO_NAW);
            slMEVO_NAW.Parameters.Add("@INSTEL", SqlDbType.VarChar).Value = Txtbx_InstelKsten.Text;

修复 似乎在我将其更改为所有参数之后,如果文本框为空,它只会给出错误,所以我只是让程序在立即执行查询之前将文本设置为 0

【问题讨论】:

  • SQL 注入警报。您需要首先修改 SQL 查询,使其使用所有参数,而不是串联字符串。
  • 不要引用它; + ", @INSTEL); - 但更重要的是参数化所有其他值
  • 我试图删除 @instel 周围的 ' 但它仍然没有工作,我知道将其余部分更改为变量,但在我这样做之前我仍然试图让它工作。
  • @maam27 使用那种“风格”只会让事情变得更难。任何一个文本框中的单引号都会搞砸查询。使用参数不仅更安全,而且更容易。
  • 我正在努力改变那个 atm

标签: c# sql insert int varchar


【解决方案1】:

表格中的字段类型可能是整数或数字,请更改为 Varchar。

【讨论】:

    【解决方案2】:

    正如我在编辑后在主帖中所说的那样,我找到了解决问题的方法

    FIX 似乎在我将其更改为所有参数后,它只会在文本框为空时给出错误,所以我只是让程序在立即执行查询之前将文本设置为 0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-27
      • 2013-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多