将数据插入数据库时​​出错

时间:2018-05-19 06:06:36

标签: asp.net sql-server

  

System.Data.dll中出现'System.Data.SqlClient.SqlException'类型的异常,但未在用户代码中处理

     

附加信息:字符串或二进制数据将被截断。

这是我的代码

select b.*
      (1 + (row_number() over (order by id)-1) / 2) as batch
from batch b;

2 个答案:

答案 0 :(得分:1)

这里有两件事要做:

  1. 使用参数化查询来避免SQL注入:

    string query = "insert into students (username, ...) VALUES(@uname, ...)";           
    SqlCommand cmd = new SqlCommand(query, con);
    
    //Passing values to Parameters
    cmd.Parameters.AddWithValue("@uname", "Value");
    
  2. 检查参数值是否与SQL表中的列数据类型和大小一致。我认为这是导致问题的大小。您正在尝试插入长度大于SQL表中为该列定义的数据。

答案 1 :(得分:0)

  

使用参数化查询以避免SQL注入攻击

        //Replaced Parameters with Value
        string query = "insert into students (S_username, ...) VALUES(@username, ...)";           
        SqlCommand cmd = new SqlCommand(query, con);

        //Pass values to Parameters
        cmd.Parameters.AddWithValue("@username", "XYZ_Value");
        cmd.Parameters.AddWithValue("@...", "$20");