C# net可以';我不能从我的数据库中读取数据
这真是个棘手的问题,但我马上就要发疯了。 我试图从我的本地数据库中读取数据,但它什么也没给我。 代码如下:C# net可以';我不能从我的数据库中读取数据,c#,sql,database,ado.net,connection-string,C#,Sql,Database,Ado.net,Connection String,这真是个棘手的问题,但我马上就要发疯了。 我试图从我的本地数据库中读取数据,但它什么也没给我。 代码如下: protected void readBtn2_Click(object sender, EventArgs e) { string ConnString = "server=localhost; Trusted_Connection=yes; database=expreimentalDB"; string SqlString = ("SELECT * FROM tb
protected void readBtn2_Click(object sender, EventArgs e)
{
string ConnString = "server=localhost; Trusted_Connection=yes; database=expreimentalDB";
string SqlString = ("SELECT * FROM tblCity WHERE city = '@city'");
using (SqlConnection conn = new SqlConnection(ConnString))
{
using (SqlCommand cmd = new SqlCommand(SqlString, conn))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("city", cityTB.Text);
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
GridView1.DataSource = reader;
GridView1.DataBind();
}
}
}
}
connectionstring应该可以工作(因为如果我在字符串中重命名数据库部分,它会崩溃)
sql正在工作(在sql管理器中试用)
读卡器(SqlDataReader)为空
我还没有试过的是什么?您需要在查询中删除@city周围的单引号,使其成为
string SqlString = "SELECT * FROM tblCity WHERE city = @city";
然后
cmd.Parameters.AddWithValue("city", cityTB.Text);
需要改成
cmd.Parameters.AddWithValue("@city", cityTB.Text);
您需要在查询中删除@city周围的单引号,以便
string SqlString = "SELECT * FROM tblCity WHERE city = @city";
然后
cmd.Parameters.AddWithValue("city", cityTB.Text);
需要改成
cmd.Parameters.AddWithValue("@city", cityTB.Text);
我不太确定,但是在将参数添加到命令中时,您不应该在参数名称前面加@号吗?像这样:
cmd.Parameters.AddWithValue("@city", cityTB.Text);
我不太确定,但是在将参数添加到命令中时,您不应该在参数名称前面加@号吗?像这样:
cmd.Parameters.AddWithValue("@city", cityTB.Text);
当然,这很容易(有点尴尬)。非常感谢你,先生!当然,这很容易(有点尴尬)。非常感谢你,先生!