将数据集转换为数据表c#

将数据集转换为数据表c#,c#,datatable,dataset,C#,Datatable,Dataset,很抱歉造成混淆,代码实际上是有效的,但现在的问题是如何查看来自数据表的数据只需使用.Tables属性进行调整 ds.Tables.Add(dt); da = new SqlDataAdapter( @"select Time1, Time2, EndDate from Event where Venue ='" + txtVenue.Text + "', StartDate ='" + cbStartMonth.Text + "/" + cbStartDay.T

很抱歉造成混淆,代码实际上是有效的,但现在的问题是如何查看来自数据表的数据

只需使用
.Tables属性进行调整

ds.Tables.Add(dt);
da = new SqlDataAdapter(
  @"select Time1, Time2, EndDate from Event 
    where Venue ='" + txtVenue.Text + "', 
    StartDate ='" + cbStartMonth.Text + "/" + 
    cbStartDay.Text + "/" + 
    DateTime.Today.Year + "'" ,conn);
da.Fill(dt);
您的表为空,因为您可以使用子句和子句之间调整查询

但是您重写了查询
(您添加了and运算符)


DataSet
DataTable
s的集合。你不能从一个转换到另一个,一个存储另一个


如果只显示一行,那么您的
Sql
只返回一行

我还将更改您的代码以使用参数。否则,您将面临各地严重的SQL注入攻击

查看这里的示例,了解如何将参数与SqlDataAdapter一起使用。

它也回答了你的问题

嗯 SR

您可以使用

da = new SqlDataAdapter("select Time1, Time2, EndDate from Event 
where Venue ='" + txtVenue.Text + "' AND 
StartDate ='" + cbStartMonth.Text + "/" + 
cbStartDay.Text + "/" + 
DateTime.Today.Year + "'" ,conn);

您确定有多条记录匹配吗?另外,不应该
ds.Tables.Add(dt)填写完数据表之后是什么?你应该把问题弄清楚。稍微解释一下就好了。
da = new SqlDataAdapter("select Time1, Time2, EndDate from Event 
where Venue ='" + txtVenue.Text + "' AND 
StartDate ='" + cbStartMonth.Text + "/" + 
cbStartDay.Text + "/" + 
DateTime.Today.Year + "'" ,conn);
ds.Table.Add(dt);
    DataTable dt1=ds.Tables[0];