我正在尝试将SQL服务器表中的数据放入变量中,但我一直在这行上出错。
SqlDataReader dataReader = sqlCmd.ExecuteReader();
错误类型低于
发生了'System.Data.SqlClient.SqlException'类型的异常 System.Data.dll但未在用户代码中处理
导致错误的代码。它是一个值得信赖的数据库BTW。
int staff_No;
SqlConnection conn = new SqlConnection(@"Data Source=OWNER\SQLEXPRESS;Initial Catalog=Staff_Manager;Integrated Security=SSPI;");
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.CommandText = "SELECT Staff_No FROM Staff_Data_TBL WHERE Staff_No = 1001";
sqlCmd.CommandType = System.Data.CommandType.StoredProcedure;
sqlCmd.Connection = conn;
conn.Open();
SqlDataReader dataReader = sqlCmd.ExecuteReader();
dataReader.Read();
staff_No = dataReader.GetInt32(0);
Console.WriteLine(staff_No);
conn.Close();
应用程序正在使用的内容。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Threading;
using System.Data.SqlClient;
using System.Data.SqlTypes;
我不知道我还能做些什么才能让它发挥作用?
答案 0 :(得分:0)
此行不正确:
sqlCmd.CommandType = System.Data.CommandType.StoredProcedure;
应该设置为
sqlCmd.CommandType = System.Data.CommandType.Text
答案 1 :(得分:0)
@ELewis是正确的,这也可以帮助你
while (dataReader.Read())
{
//The 0 stands for "the 0'th column", so the first column of the result.
var myString = dataReader.GetString(0);
}
OR
string myString = dataReader["ColumnOneName"].ToString();
OR
string myString = dataReader[0].ToString();