我有一个包含sql语句的方法。它是如何在sql查询中解决最大长度误差(它太长了)c#
public Boolean addRSS(string RSS_title, string Description, DateTime datetime, string RSS_Link, string user_name, float rate)
{
// Console.WriteLine(MyString.Remove(5, 10));
// string a = date.ToString().Replace('.', '-');
Boolean res = false;
string sql = "INSERT INTO My_RSS (RSS_Title,RSS_Description,RSS_Date,RSS_Link,RSS_Rate,UserName) values('"
+
RSS_title + "','" +
"FFFFFFFFFFFFFFFFFFFFFFFFFAAASDASDASDASD" +
"', SYSUTCDATETIME(),'" +
RSS_Link + "'," +
rate + ",'"+
user_name +
"')";
try
{
// hasan = hasan.Insert(c, hasan);
SqlCommand cmd = new SqlCommand(sql, Connect());
cmd.ExecuteNonQuery();
res = true;
}
catch (Exception)
{
res = false;
}
return res;
}
当我试图进入该输入http://rss.feedsportal.com/c/32727/f/510887/s/1da50441/l/0Lekonomi0Bmilliyet0N0Btr0Cenflasyon0Eyuzde0E50Ee0Einene0Ekadar0Esikacak0E0Cekonomi0Cekonomidetay0C210B0A30B20A120C15181930Cdefault0Bhtm/story01.htm它给人的错误“链接栏”和 提示错误是 附近有语法错误“E”。 以'Lekonomi0Bmilliyet0N0Btr0Cenflasyon0Eyuzde0E50Ee0Einene0Ekadar0Esikacak0E0Cekonomi0Cekonomidetay0C210B0A30B20A120C15181930Cdefau'开头的标识符太长。最大长度为128. 字符串')'后面未加上引号。
另外,在SQL侧起式柱为varchar(455)
你的数据库是如何定义的? – 2012-03-21 13:50:43
我愿意赌钱'RSS_title'包含一个'''字符,请确保您将它们转义('RSS_title.Replace(“'”,“''”)')。你当然应该使用参数化查询,但是现在可以在10秒内修复。 – Blindy 2012-03-21 14:01:38
@Bindindy为什么推荐10秒修复而不是正确的修复? – dmck 2012-03-21 14:03:03