【发布时间】:2017-04-28 15:14:48
【问题描述】:
这是我的代码,如果我只给一列它可以工作,我无法检索多个数据,但是当我给多列它不工作时,我使用 c# 和 sql server。
SqlConnection con3 = new SqlConnection(conString);
con3.Open();
if (con3.State == System.Data.ConnectionState.Open)
{
string s = "SELECT ([reg_grade] ,[t_name],[start_time], [end_time]) from addteacher where class_id='" + comboBox2.SelectedItem.ToString() + "' ";
SqlCommand cm = new SqlCommand(s, con3);
SqlDataReader dr1 = cm.ExecuteReader();
while (dr1.Read())
{
grade_att.Text = (dr1["reg_grade"]).ToString();
tname_att.Text = (dr1["t_name"]).ToString();
stime.Text = (dr1["start_time"]).ToString();
etime.Text = (dr1["end_time"]).ToString();
}
}
con3.Close();
【问题讨论】:
-
不起作用,请澄清。参见 Sql injection,无需检查连接是否打开,您在上一行打开它。对 SqlConnectioin 使用 using 或 try/catch/finally。更好的 SqlDataAdapter 再次包裹在 using 块中,并将数据填充到数据集中。
-
它不起作用是什么意思?您收到错误消息吗?
-
它可能“不起作用”,因为他将结果设置为文本字段,所以它只显示查询的最后一行......
-
您需要比“不起作用”更具体。如果您使用
SELECT * FROM ...而不是指定一堆列会怎样?
标签: c# sql-server database string multiple-columns