将SQL Server数据放入变量?

时间:2016-02-04 04:54:29

标签: c# sql-server

我正在尝试将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;

我不知道我还能做些什么才能让它发挥作用?

2 个答案:

答案 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();