2017-06-12 105 views
-1

我試着去的表結構WinForms應用程序在C#中複製,我總是得到其解釋如下錯誤無效語法: 這是我的代碼SQL命令錯誤

con.Open(); 
cmd.Connection =con; 
cmd.CommandText="Create table temp as select * from Class"; 
cmd.ExecuteNonQuery(); 
con.Close(); 

和錯誤陳述在'Select'附近顯示錯誤的語法,並且在類附近顯示語法不正確 。

+0

什麼是你的DBMS? –

+0

我的數據庫是MsSql –

+0

你的示例代碼的哪一行是winform相關的?如果您將SQL複製/粘貼到SSSMS中,您會得到相同的錯誤嗎?提示 - 是的,你的taggig和標題完全關閉。完全 - 您將其標記爲MySql,表明您無法使用您所使用的數據庫系統。 – TomTom

回答

0

它應該是,

cmd.CommandText="Create TABLE temp AS (select * from Class)"; 
+0

不,我已經檢查過它。然後我得到錯誤不正確的語法附近'(' –

+0

我的數據庫是MsSql –

+0

@Arun_Ajayan它是Mysql還是其他?你說它是MsSql ...是SQL Server嗎? –

0

,因爲「選擇表」有主鍵或索引不能執行這個查詢。

試試這個:

 
    CREATE TABLE temp 
    SELECT * 
    FROM class 
    CREATE INDEX index_column ON temp(index_column); 

要注意,如果表中有主鍵你需要運行其他查詢「ALTER TABLE ...」,並設置表的主鍵列是很重要的。

0

試試這個:

cmd.CommandText="Create TABLE temp select * from Class";