Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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# 如何在多个数据表中连接一个数据表?_C#_Database_Gridview_Visual Studio 2013 - Fatal编程技术网

C# 如何在多个数据表中连接一个数据表?

C# 如何在多个数据表中连接一个数据表?,c#,database,gridview,visual-studio-2013,C#,Database,Gridview,Visual Studio 2013,连接出现问题,单个数据库中有多个datatable。当我尝试 SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\...\Database1.mdf;Integrated Security=True"); 它是空的gridview,不知道如何选择datatable a选择一个连接它并显示在datagridview上 private void textBox1_TextCh

连接出现问题,单个数据库中有多个datatable。当我尝试

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\...\Database1.mdf;Integrated Security=True");
它是空的gridview,不知道如何选择datatable a选择一个连接它并显示在datagridview上

private void textBox1_TextChanged(object sender, EventArgs e)
        {
            con.Open();
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType=CommandType.Text;
            cmd.CommandText = "select * from table1 where name like('" + textBox1.Text + "\')";
            cmd.ExecuteNonQuery();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            dataGridView1.DataSource = dt;

            con.Close();
        }
要在datatable..

中搜索数据,您不能在代码中添加DataBind()方法

你只要加上

    dataGridView1.DataSource = dt;
    dataGridView1.DataBind();

我在你的代码中没有看到任何
DataTable
,我只看到了一个
SqlConnection
。我只是想知道如何显示一个表,选择一个。而且每次你按下键盘上的一个键,你都会遇到严重的性能问题。SQL语法也不正确,因为您使用的是LIKE语句,但未指定输入周围的通配符类型参数,即从表1中选择*,其中名称类似于%textbox1.Text%。出于安全原因,还应该考虑参数化查询。您还将执行查询,然后使用数据适配器填充查询。最有可能的是,您键入的输入不起作用/记录找不到,因为您在每次击键时都这样做,并且没有返回任何数据