使用SQL预处理语句将结果绑定到C#中
使用这个:
SqlConnection myConnection = new SqlConnection("Data Source=.\\SERVER;Initial Catalog=DB;Integrated Security=True;TrustServerCertificate=True;User Instance=False"); myConnection.Open(); SqlCommand myCommand = new SqlCommand("SELECT BusinessName FROM Businessess WHERE BusinessID = @Param2", myConnection); SqlParameter myParam2 = new SqlParameter("@Param2", SqlDbType.Int, 4); myParam2.Value = 1; myCommand.Parameters.Add(myParam2); MessageBox.Show(myCommand); //How do I bind results to show as string?
如何将预准备语句的结果绑定到变量,以便我可以操作它们?
试试这样:
using (SqlConnection myConnection = new SqlConnection("Data Source=.\\SERVER;Initial Catalog=DB;Integrated Security=True;TrustServerCertificate=True;User Instance=False")) using (SqlCommand myCommand = myConnection.CreateCommand()) { myConnection.Open(); myCommand.CommandText = "SELECT BusinessName FROM Businessess WHERE BusinessID = @Param2"; myCommand.Parameters.AddWithValue("@Param2", myParam2); using (SqlDataReader reader = myCommand.ExecuteReader()) { if (reader.Read()) { string businessName = reader.GetString(reader.GetOrdinal("BusinessName")); MessageBox.Show(businessName); } else { MessageBox.Show(string.Format("Sorry, no business found with id = {0}", myParam2)); } } }
需要注意的事项:
- 一次性资源包含在使用陈述中,以确保即使在例外的情况下也能正确处理
- 简化传递给sql命令的参数
- 在命令上调用
ExecuteReader
以检索允许您读取返回的结果集的对象。