如何在C#中存储SQL查询的结果字符串

Bey*_* S. 4 c# sql sql-server string winforms

我有一个表TümEnvanter$有2列设备代码(Ekipman)和他们的描述(Tan?m).

用户从组合框中选择设备,我希望所选设备的描述在他们从组合框中选择时出现在标签中.

这是我尝试过的:

SqlCommand cmdTanim = new SqlCommand("select Tan?m from TümEnvanter$ where Ekipman = '" + comboBox_ekipman.Text + "'", connect);
connect.Open();

SqlDataReader reader = cmdTanim.ExecuteReader();
string tanim = reader.ToString();

labelTanim.Text = "Ekipman Tan?m?: "+tanim+" ";
Run Code Online (Sandbox Code Playgroud)

当我使用这段代码时,我会进入标签:

Ekipman Tan?m?: System.Data.SqlClient.SqlDataReader
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?谢谢.

Mar*_*ell 5

如果您只期望单个值,那么ExecuteScalar比使用阅读器简单得多,即

labelTanim.Text = Convert.ToString(cmdTanim.ExecuteScalar());
Run Code Online (Sandbox Code Playgroud)

在一般情况下,也许是考虑像"小巧玲珑"工具,这将使得这个简单的,即使在多行情况平凡解决SQL注入的问题:

string s = connect.QuerySingle<string>(
    "select Tan?m from TümEnvanter$ where Ekipman = @val", // command
    new { val = comboBox_ekipman.Text }); // parameters
Run Code Online (Sandbox Code Playgroud)