从DataGridView中提取信息的语法并导出到另一个表

成员
加入
2013年12月12日
消息
6
编程经验
Beginner
嗨,大家好,

我正在尝试将DataGridView1导出到数据库中的另一个表。我看到了一堆SQL,但不是OLE。有人可以帮助我的语法。我基本上尝试创建一个签出表格,所以当用户签出时。将所有列和行带到我拥有的另一个表中。

我尝试了以下两项才能导出到另一个名为authors_table的表中。

谢谢

C#:
[COLOR=#000000][FONT=Calibri]        private void button1_Click(object sender, EventArgs e)
        {
            OleDbConnection connect = new OleDbConnection(); //Creates the connection
            connect.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=H:\VB Projects\binding\binding\books.accdb;Persist Security Info=False";
            connect.Open();


            OleDbCommand command = new OleDbCommand();
            command.Connection = connect;
            command.CommandText = "SELECT * FROM Authors";
            OleDbDataAdapter da = new OleDbDataAdapter();
            DataSet ds = new DataSet();
   
            dataGridView1.DataSource = ds;
            dataGridView1.DataMember = "Authors_table";


            da.Fill(ds, "Authors_table");


            connect.Close();        
        }
[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]
[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]I also tried another code and get a different error: Additional information: The SelectCommand property has not been initialized before calling 'Fill'.[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]
[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]        private void button1_Click(object sender, EventArgs e)
        {
[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]            OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=H:\VB Projects\binding\binding\books.accdb;Persist Security Info=False");
            OleDbDataAdapter ad = new OleDbDataAdapter();
            DataSet ds = new DataSet();
            OleDbCommand cmd = new OleDbCommand();
            con.Open();
            ad.SelectCommand = new OleDbCommand("SELECT * FROM Authors");            
//         ad.InsertCommand = new OleDbCommand("INSERT INTO * FROM Authors", con);
            ad.Fill(ds, "Authors_table");
            ad.SelectCommand.ExecuteNonQuery();
            con.Close();
[/FONT][/COLOR]
[COLOR=#000000][FONT=Calibri]        }

[/字体颜色]
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,554
地点
悉尼,澳大利亚
编程经验
10+
我看到了一堆SQL,但不是OLE。

我假设您实际的意思是SQL Server和OLE DB。 SQL是一种用于操纵数据库的编程语言,您正在发布的代码中使用。所有选择和插入语句都是SQL代码。 SQL Server是Microsoft的企业级RDBMS。不一样。同样,OLE DB不是OLE。

事项是,无论数据库,ADO.NET都设计为数据访问几乎相同。如果您有代码与SQL Server一起使用,那么,在绝大多数情况下,它将用于访问最小的更改。首先,您只需交换所有SqlClient成员,即用于等效OLEDB成员,例如, OledBConnection而不是SQLConnection。您还需要修改连接字符串,并且在某些情况下,可能需要对SQL代码进行一些更改。虽然代码的基本模式将保持不变。因此,如果您已经有SQL Server示例,则可以将它们应用于与这些简单更改的访问权限。做到这一点,如果它不起作用,请张贴您所做的内容以及您拥有的问题,我们可以帮助您解决问题。
 
最佳 底部