VS2005中提示System.Data.SqlClient.SqlException: 第 1 行: '=' 附近有语法错误。怎么回事

protected void Page_Load(object sender, EventArgs e)
{

this.Title = "显示书籍详细信息";
//连接和打开数据库
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "server=localhost;database=book;integrated security=true";
conn.Open();
//执行SQL语句命令
string sql = "select book_id,book_picture,book_name,book_price,book_note,ISBN_num,book_factory from books where book_id=" + Request["bh"];
SqlDataAdapter da = new SqlDataAdapter(sql, conn);

DataSet ds = new DataSet();
da.Fill(ds, "books");

DataList1.DataSource = ds.Tables["books"];
DataList1.DataBind();
conn.Close();

}

不知道你的数据库是结构怎么样!
如果 book_id 是 字符传形的

把下面的这句
string sql = "select book_id,book_picture,book_name,book_price,book_note,ISBN_num,book_factory from books where book_id=" + Request["bh"];
改为

string sql = "select book_id,book_picture,book_name,book_price,book_note,ISBN_num,book_factory from books where book_id='" + Request["bh"]+"'";追问

我的book_id是VARCHAR类型的,但是还有一个程序,代码和这个一样,就是字段和表名不一样,运行就能成功,怎么回事?

追答

那我的解答是正确的给分吧

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-29
是不是Request["bh"]为空啊?
改成这样
string sql = "select book_id,book_picture,book_name,book_price,book_note,ISBN_num,book_factory from books"+Request["bh"]?"":(" where book_id="+ Request["bh"].ToString().Trim());

第1 行: '=' 附近有语法错误。
你把你这条语句拿到查询分析器里面 执行一下 那个错误是SQL语句有问题与程序无关。你看看那个Column_Cat_ID是不是字符型大阿,如果是就在Cat_ID前后加上单引号。 最好不要用这种拼接的语句容易错不说还不安全,最好用Parameter来实现。

System.Data.SqlClient.SqlException: '=' 附近有语法错误
此类错误,一般是指最终拼凑字符串生成的SQL语句有问题,可检查=附件字段,一般有下列几种情况 是否缺少空格 字符串类型值少加了单引号(包括字符串内的单引号未进行替换处理)等号后面没有值进行占位。

System.Data.SqlClient.SqlException: ' ' 附近有语法错误。
1、你SQL语句字符串拼接没有问题,2、问题估计出在你的两个参数上:strUserName、strpswd,你应该单步调试一下,看这两个参数值是否正确

vs2005的代码运行时报错:第 1 行: '0' 附近有语法错误。
用try{}catch(){}包起来.

System.Data.SqlClient.SqlException: 关键字 'and' 附近有语法错误...
此类错误,一般是指最终拼凑字符串生成的SQL语句有问题,可检查=附件字段,一般有下列几种情况 是否缺少空格 字符串类型值少加了单引号(包括字符串内的单引号未进行替换处理)等号后面没有值进行占位。

...运行都会出现System.Data.SqlClient.SqlException","附近有语法错误...
断点跟踪command.ExecuteNonQuery();这句.看它的返回值是什么.不为-1即为数据插入成功.否则代表数据无法被插入,同时重新断点,从当前方法的第一句开始跟踪.逐步检查每一句是否都有正常的返回值.如果语法没有错误.检查是不是拼写问题,最好不要用拼接字符串的方式来拼接SQL语句,一方面性能不好,另一方面可能...

第1 行: '=' 附近有语法错误。
这个错误是sql语句语法不对 你可以下断点或输出到页面看看update语句拼接的是否正确.那个selectedvalue可能获取不到值,造成=后面没值

'Id' 附近有语法错误。
System.Data.SqlClient.SqlException: '=' 附近有语法错误。 源错误: 行 String sqlstr = String.Format ("updata item2 set num=num+1 where id 是否可以解决您的问题?

System.Data.SqlClient.SqlException: '0' 附近有语法错误。
sql语句写错了 Response.Write(str);把后面的注销,用这句输出一下放到sql里一执行你就明白了

第1 行: '.' 附近有语法错误
sql语句错了,第一个字符串和第二个字符串中间没空格

相似回答
大家正在搜