Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';t使用ADO.NET建立与SQL Server的连接_C#_Sql Server_Ado.net - Fatal编程技术网

C# Can';t使用ADO.NET建立与SQL Server的连接

C# Can';t使用ADO.NET建立与SQL Server的连接,c#,sql-server,ado.net,C#,Sql Server,Ado.net,我正在尝试使用以下代码建立与本地SQL server的连接: dataGridView1.Visible = true; SqlConnection con = new SqlConnection(); con.ConnectionString = @"Data Source=.;Initial Catalog=Form;Integrated Security=True"; SqlCommand com = new SqlCommand("sele

我正在尝试使用以下代码建立与本地SQL server的连接:

dataGridView1.Visible = true;
        SqlConnection con = new SqlConnection();
        con.ConnectionString = @"Data Source=.;Initial Catalog=Form;Integrated Security=True";
        SqlCommand com = new SqlCommand("select * from Form", con);
        SqlDataAdapter sda = new SqlDataAdapter(com);
        dataGridView1.DataSource = sda;

但是当我按下表单中的按钮时,它不会显示数据!我做错了什么?

您需要使用
con.open()打开连接

此外,您还遇到了许多其他问题,如不处理资源,这可能导致内存泄漏和未关闭连接,以及未填充适配器。下面是做这件事的最佳方法

using(SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=Form;Integrated Security=True";))
{          

    con.Open();
    SqlCommand com = new SqlCommand("select * from Form", con);
    using(SqlDataAdapter sda = new SqlDataAdapter(com));
    {
        DataTable resultTbl = new DataTable();
        sda.Fill(resultTbl);
        dataGridView1.DataSource = resultTbl;
        dataGridView1.DataBind();
    }
}

你需要这样的东西

dataGridView1.Visible = true;
        SqlConnection con = new SqlConnection();
        con.ConnectionString = @"Data Source=.;Initial Catalog=Form;Integrated Security=True";
        con.Open()
        SqlCommand com = new SqlCommand("select * from Form", con);
        SqlDataAdapter sda = new SqlDataAdapter(com);
        DataTable dt=new DataTable();
        sda.Fill(dt);   

        dataGridView1.DataSource = dt;//set it to datatable
        dataGridView1.DataBind();

它没有给我一个错误,它只是显示dataGridView为空!你检查过表中是否有数据吗?@derloopkat是的,数据库正常并且有数据。这很有效!谢谢。请单击左侧的勾号,将其标记为正确
dataGridView1.Visible = true;
        SqlConnection con = new SqlConnection();
        con.ConnectionString = @"Data Source=.;Initial Catalog=Form;Integrated Security=True";
        con.Open()
        SqlCommand com = new SqlCommand("select * from Form", con);
        SqlDataAdapter sda = new SqlDataAdapter(com);
        DataTable dt=new DataTable();
        sda.Fill(dt);   

        dataGridView1.DataSource = dt;//set it to datatable
        dataGridView1.DataBind();