簡體   English   中英

在CreateTableCommand.ExecuteNonQuery()中獲取錯誤;

[英]Getting Error in CreateTableCommand.ExecuteNonQuery();

這是我得到錯誤的查詢

CreateTableCommand.CommandText = "BACKUP DATABASE Test" +
                             "TO  DISK = 'C:\backup\t1.bak'" + 
                                 "WITH " +
                             "NOFORMAT, " +
                             "COMPRESSION," +
                             "NOINIT,  " +
                             "NAME = N't1-Full Database Backup'," + 
                             "SKIP, " +
                                 "STATS = 10;";

並且錯誤是“DISK'附近的語法不正確。” 但是,如果我運行該查詢ms sql server 2008它的工作正常,但當我嘗試在我的C#應用​​程序中使用它時它給出了錯誤請幫助我

Test之后添加另一個空格,您的SQL構建為... TestTO DISK ...

string line2 = "BACKUP DATABASE Test ";

正如Onots指出的那樣,你也應該正確地轉義一些字符( \\引入轉義序列, \\本身作為\\\\轉義):

string line2 = "TO  DISK = \'C:\\backup\\t1.bak\'";

有關詳細信息,另請參見MSDN:string(C#參考)

對於SQL語句,使用Verbatim字符串文字比整個查詢更容易,而不是連接片段。 例如

CreateTableCommand.CommandText = @"
BACKUP DATABASE Test
TO  DISK = 'C:\backup\t1.bak'
WITH 
NOFORMAT, 
COMPRESSION,
NOINIT,
NAME = N't1-Full Database Backup',
SKIP, 
STATS = 10;
";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM