用户代码未处理 SqlException
private static IList<News> GetNewsBySql(string sql){
using (SqlConnection cn = new SqlConnection(connectionString))
{
cn.Open();
SqlCommand cm = new SqlCommand();
cm.Connection = cn;
cm.CommandText = sql;
SqlDataReader dr = cm.ExecuteReader();
List<News> list = new List<News>();
while (dr.Read())
{
News news = new News();
for (int i=0;i<dr.FieldCount;i++)
{
string fieldName = dr.GetName(i);
if (fieldName == "Id")
news.Id = (int)dr["Id"];
else if (fieldName == "Title")
news.Title = (string)dr["Title"];
else if (fieldName == "Author")
news.Author = (string)dr["Author"];
else if (fieldName == "PubDate")
news.PubDate = (DateTime)dr["PubDate"];
else if (fieldName == "Contents")
news.Contents = (string)dr["Contents"];
else if (fieldName == "Clicks")
news.Clicks = (int)dr["Clicks"];
else if (fieldName == "NewsCategoryId")
{
news.NewsCategoryId = (int)dr["NewsCategoryId"];
news.NewsCategory = NewsCategoryService.GetNewsCategoryById((int)dr["NewsCategoryId"]);
}
}
list.Add(news);
}
dr.Close();
return list;
}
}
提示"用户代码未处理 SqlException"
指针指向“SqlDataReader dr = cm.ExecuteReader();”这句
提示 = 附近有语法错误,求解。 --------------------编程问答-------------------- 贴出你的SQL语句,应该就是SQL语句的语法错误 --------------------编程问答-------------------- string sql = "SELECT Id,Title,Author,PubDate,Clicks,NewsCategoryId FROM News";
if (conditions.Trim().Length > 0)
{
sql += "WHERE" + conditions;
}
if (sortField.Trim().Length > 0)
{
sql += "ORDER BY" + sortField;
}
if (direction.Trim().Length > 0)
{
sql += " " + direction;
}
return GetNewsBySql(sql); --------------------编程问答--------------------
自己调试把sql语句打印出来
--------------------编程问答-------------------- 楼上说的什么意思啊? --------------------编程问答--------------------
打断点 调试:
--------------------编程问答-------------------- 在你sql语句 FROM News后面加个空格 --------------------编程问答-------------------- 不行啊 哥哥们,就没有高手了吗? --------------------编程问答--------------------
if (conditions.Trim().Length > 0)
{
sql += "WHERE" + conditions;//where后面是:关键字=conditions
}
if (sortField.Trim().Length > 0)
{
sql += "ORDER BY" + sortField;
}
if (direction.Trim().Length > 0)
{
sql += " " + direction;//order by后面如果有多项中间用逗号隔开,不是空格
}
补充:.NET技术 , ASP.NET