方法名称预期 C# SQL Server Visual Studio 2019 [重复]
Posted
技术标签:
【中文标题】方法名称预期 C# SQL Server Visual Studio 2019 [重复]【英文标题】:Method name expected C# SQL Server visual studio 2019 [duplicate] 【发布时间】:2020-12-05 17:33:29 【问题描述】:我正在尝试从数据源读取数据,但在 ExecuteReader 方法中出现此错误, 当我尝试在某个标签中显示结果时。
我在idlabel.Text = myraeder("id");
myreader
varibale 下收到错误
private void Searchbtn_Click(object sender, EventArgs e)
SqlConnection con = new SqlConnection(dataConnectin);
con.Open();
string searchsql = "SELECT * from Table WHERE Name=" + searchtxt.Text + "";
SqlCommand cmd = new SqlCommand(searchsql, con);
SqlDataReader myraeder;
myraeder = cmd.ExecuteReader();
myraeder.Read();
idlabel.Text = myraeder("id");
【问题讨论】:
你得到什么错误? 使用这个myraeder["id"].ToString();
注意这里的sql注入可能性。
【参考方案1】:
有很多明显的错误。让我向您展示一种编写代码的更好方法。跟我来!
为变量提供正确的名称和大小写。 使用异步。 在 sql 查询中使用参数。 通过将资源包装在using
中来释放资源。
在 sql 中用括号将名称括起来。
private async void SearchButton_Click(object sender, EventArgs e)
using (var connection = new SqlConnection(connectionString))
await connection.OpenAsync();
string searchSql = "SELECT * from [Table] WHERE [Name]=@name";
using (var command = new SqlCommand(searchSql, connection))
command.Parameters.Add("name", SqlDbType.NVarChar).Value = searchTextBox.Text;
using (var reader = await command.ExecuteReaderAsync())
while (await reader.ReadAsync())
idLabel.Text = reader["id"].ToString();
【讨论】:
【参考方案2】:-
使用方括号代替圆括号。
将字段转换为字符串。
idlabel.Text = myraeder["id"].ToString();
【讨论】:
【参考方案3】:这样读取数据:
idlabel.Text = myraeder["id"].ToString();
con.Close();
并且在获得所需数据后不要忘记关闭连接。
【讨论】:
它是否对您有效并且您的问题已解决?以上是关于方法名称预期 C# SQL Server Visual Studio 2019 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 C#(或任何其他方法)将 XML 转换为 SQL Server 表
SqlException:在 C# (VISUAL STUDIO) 和 sql server 中构建网站时出现无效的对象名称错误