.net程序启动提示第 1 行: '=' 附近有语法错误,可是我真的找不到错误了!十万火急求解!!
源代码如下:if(!IsPostBack){SqlConnectionsqlcon=newSqlConnection("DataSource=FPF-11E6D35EC9...
源代码如下:
if (!IsPostBack)
{
SqlConnection sqlcon = new SqlConnection("Data Source=FPF-11E6D35EC95;Initial Catalog=海南美食网站;Integrated Security=True");
sqlcon.Open();
string sqlstr = "select * from meishi";
SqlDataAdapter myApter = new SqlDataAdapter(sqlstr, sqlcon);
DataSet myDs = new DataSet();
myApter.Fill(myDs, "meishi");
DataRowView rowView = myDs.Tables["meishi"].DefaultView[0];
this.TextBox1.Text = Convert.ToString(rowView["name"]);
this.TextBox2.Text = Convert.ToString(rowView["classes"]);
this.TextBox3.Text = Convert.ToString(rowView["introduce"]);
this.TextBox4.Text = Convert.ToString(rowView["picture"]);
this.TextBox5.Text = Convert.ToString(rowView["price"]);
this.TextBox6.Text = Convert.ToString(rowView["city"]);
sqlcon.Close();
}
最主要的是这句string sqlstr = "select * from meishi";如果这样写语法没错,但是返回的数据永远都是第一条数据,所以我给成这样string sqlstr = "select * from meishi where name=" + Request["name"],但是就提示“=”附近有语法错误了????? 展开
if (!IsPostBack)
{
SqlConnection sqlcon = new SqlConnection("Data Source=FPF-11E6D35EC95;Initial Catalog=海南美食网站;Integrated Security=True");
sqlcon.Open();
string sqlstr = "select * from meishi";
SqlDataAdapter myApter = new SqlDataAdapter(sqlstr, sqlcon);
DataSet myDs = new DataSet();
myApter.Fill(myDs, "meishi");
DataRowView rowView = myDs.Tables["meishi"].DefaultView[0];
this.TextBox1.Text = Convert.ToString(rowView["name"]);
this.TextBox2.Text = Convert.ToString(rowView["classes"]);
this.TextBox3.Text = Convert.ToString(rowView["introduce"]);
this.TextBox4.Text = Convert.ToString(rowView["picture"]);
this.TextBox5.Text = Convert.ToString(rowView["price"]);
this.TextBox6.Text = Convert.ToString(rowView["city"]);
sqlcon.Close();
}
最主要的是这句string sqlstr = "select * from meishi";如果这样写语法没错,但是返回的数据永远都是第一条数据,所以我给成这样string sqlstr = "select * from meishi where name=" + Request["name"],但是就提示“=”附近有语法错误了????? 展开
9个回答
展开全部
这个报错有2个方面的问题: 1. Request["name"] 的值为空 2. 在数据库里面 name 为 字符串类型,所以你这个 sql 语句就有问题了 ,把这个语句拿到数据库中就是这样的: select * from meishi where name=美食名, 所以sql语句应该这样写 : string sqlstr = "select * from meishi where name='" + Request["name"]+"'
追问
可是下面的这句代码又出错了DataRowView rowView = myDs.Tables["meishi"].DefaultView[0];提示“索引 0不是为负数,就是大于行数。”,这是什么情况??麻烦了帮我诊断一下这整段代码,我是在做“修改数据”,先返回数据再更新,总是返回是第一条数据,我数据库里不止一数据!非常谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SQL语句中字符串要加引号啊。Request["name"]取出来的值就是一个字符串,你把SQL语句改成
string sqlstr ="select * from meishi where name='" + Request["name"] + "';试看看
string sqlstr ="select * from meishi where name='" + Request["name"] + "';试看看
追问
可是下面的这句代码又出错了DataRowView rowView = myDs.Tables["meishi"].DefaultView[0];提示“索引 0不是为负数,就是大于行数。”,这是什么情况??麻烦了帮我诊断一下这整段代码,我是在做“修改数据”,先返回数据再更新,总是返回是第一条数据,我数据库里不止一数据!非常谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
"select * from meishi where name='" + Request["name"]+"'";
'" + Request["name"]+"'" 这个地方少了单引号,如果你穿过来的是汉子,必须会出错
'" + Request["name"]+"'" 这个地方少了单引号,如果你穿过来的是汉子,必须会出错
追问
可是下面的这句代码又出错了DataRowView rowView = myDs.Tables["meishi"].DefaultView[0];提示“索引 0不是为负数,就是大于行数。”,这是什么情况??麻烦了帮我诊断一下这整段代码,我是在做“修改数据”,先返回数据再更新,总是返回是第一条数据,我数据库里不止一数据!非常谢谢
追答
先确定你都new对象了,再判断.count()是否大于0,如果你的myDs.Tables["meishi"].DefaultView[都为null了,你写个[0],不报错才怪
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
name应该为字符串类型的 sql语句中要用单引号括起来
string sqlstr = "select * from meishi where name='"+Request["name"].ToString()+"'";
string sqlstr = "select * from meishi where name='"+Request["name"].ToString()+"'";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主,麻烦你后面加string sqlstr = "select * from meishi where name="+ Request["name"]
这个Request["name"]后面加上ToString();
string sqlstr = "select * from meishi where name="+Request["name"].ToString();
这个Request["name"]后面加上ToString();
string sqlstr = "select * from meishi where name="+Request["name"].ToString();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询