【发布时间】:2013-08-15 13:49:26
【问题描述】:
我的表结构如下:
Session
--------------
SessionID (PK)
RoomID
SessionDate
SessionTimeStart
SessionTimeEnd
我有一个以下查询,它将始终返回一行并显示在 DGV 中。我使用 DataAdapter 进行连接:
DataTable queryResult = new DataTable();
string ConnStr = "Data Source=DUZY;Initial Catalog=AutoRegSQL;Integrated Security=True";
SqlConnection MyConn = new SqlConnection(ConnStr);
MyConn.Open();
//SQL query that returns todays sessions for the given roomID
string query = @"SELECT SessionID, RoomID, SessionDate, SessionTimeStart, SessionTimeEnd" +
" FROM [Session] " +
" WHERE RoomID = @RoomID " +
" AND SessionDate = cast(getdate() as date) ";
SqlCommand command = new SqlCommand(query, MyConn);
command.Parameters.Add("RoomID", SqlDbType.Char).Value = RoomID;
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(queryResult);
我想将查询结果保存到表示表格列的多个字符串中,即
SessionIDstring = query result for SessionID column
RoomIDstring = query result for RoomID column
and so on...
是否可以使用一个查询来实现,还是我必须为每列创建 5 个查询?
【问题讨论】:
-
当您说要将查询结果转换为字符串时,我们是在谈论 c# 变量吗?在这种情况下,您可以只使用一个简单的 DataReader 来解析您的查询并将 .GetString() 解析到每个变量中。
-
是的,我在 C# 回答之后。您能否举一个 DataReader 的示例并参考我的问题中的数据进行解析?
-
Google 将向您展示数千个这样的示例。
-
查看下面的@xanatos 答案。这正是您想要的。
标签: c# sql database tsql variables