System.Data.dll中出现'System.Data.SqlClient.SqlException'类型的异常,但未在用户代码中处理
附加信息:字符串或二进制数据将被截断。
这是我的代码
select b.*
(1 + (row_number() over (order by id)-1) / 2) as batch
from batch b;
答案 0 :(得分: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");
检查参数值是否与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");