SQL C#交互不起作用
我试图通过查询信息ping我的SQL server,然后将该信息传递到DataGridView。虽然它不会显示在我的代码中,但我会先打开数据库连接,然后再关闭它。我的代码如下所示:SQL C#交互不起作用,c#,sql,sql-server-2008,datatable,sqldataadapter,C#,Sql,Sql Server 2008,Datatable,Sqldataadapter,我试图通过查询信息ping我的SQL server,然后将该信息传递到DataGridView。虽然它不会显示在我的代码中,但我会先打开数据库连接,然后再关闭它。我的代码如下所示: using (SqlDataAdapter newDA = new SqlDataAdapter(query, DBConnection)) { DataTable Table = new DataTable(); newDA.F
using (SqlDataAdapter newDA = new SqlDataAdapter(query, DBConnection))
{
DataTable Table = new DataTable();
newDA.Fill(Table);
dgvOutput.DataSource = Table;
}
我知道query和DBConnection都在运行,因为它们在程序的类似部分工作,但出于某种原因,newDA似乎没有从数据库中获取任何数据。当我将查询的值直接复制到MicrosoftSQLServerManagementStudio并运行它时,它可以很好地获取数据。有什么建议吗
string connectionString = YOUR_NAME_SPACE.Properties.Settings.Default.CONNECTION_STRING;
SqlConnection con = new SqlConnection(connectionString);
DataTable DT = new DataTable();
con.Open();
SqlDataAdapter DA = new SqlDataAdapter(YOUR_QUERYQUERY, connectionString);
DA.Fill(DT);
con.Close();
return DT;
现在把这个代码放进去。在您的项目中,只需要很少的更改我希望你能改变什么。
您将拥有数据表。这包含了所有的内容。您可以轻松地将内容放入datagrid视图。这很简单。好吧,在盯着屏幕看了几个小时之后,我意识到我错过了什么:
dgvOutput.AutoGenerateColumns = true;
输入后,一切正常。您能显示查询文本吗?“我确实先打开数据库连接,然后再关闭它。”SqlTableAdapters处理连接的关闭和打开。。。你发布的代码没有问题。问题要么在于显示datagridview的方式,要么在于查询中。我建议您在newDA.Fill(表格)之后设置一个断点;并检查表中是否填充了数据。