2017-05-28 121 views
0

我有2個數據庫:MainDB(來源:C:\Test\MainDB.accdb)與一種表(MainDataTable):如何在外部數據庫中對新表進行「SELECT INTO」查詢?

| ID | NAME | DATE | 
| 01 | Peter |09-08-17| 
| 02 | Paul |02-08-17| 
| 03 | Peter |20-08-17| 

PeterDB(來源:C:\Test\PeterDB.accdb),沒有表。

我要INSERT所有行從MainDataTable轉換成PeterDB其中Name = Peter

這是我的代碼:

OleDbConnection con = new OleDbConnection(); 
con.ConnectionString = @"Provider = Microsoft.ACE.OLEDB.12.0; Data source = C:\Test\MainDB.accdb"; 
con.Open(); 

OleDbCommand command = new OleDbCommand("SELECT * INTO PeterDB [IN C:\Test\PeterDB.accdb] FROM MainDB WHERE Name = 'Peter'; ", con); 

try 
{ 
    command.ExecuteNonQuery(); 
    con.Close(); 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message); 
    con.Close(); 
} 

但我不能執行該查詢(因爲DB源的我想)

回答

0

這應該工作:

SELECT * 
INTO [C:\Test\PeterDB.accdb].[NewTable] 
FROM [MainDataTable] 
WHERE [Name] = 'Peter' 
+0

我得到無法識別轉義序列錯誤(因爲C:\ Test \ PeterDB.accdb中的「\」) –

+0

要在C#字符串文字中包含反斜槓,您需要將它們加倍('「C:\\ folder \\ file.accdb」 ')或使用原始字符串('@「C:\ fol DER \ file.accdb「')。 –

+0

它的工作原理!謝謝 –

相關問題