3

// SQL部分

第 1 行string dd = "Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Users\HEX\Documents\Visual Studio 2008\Projects\cventry_address_book_0.1\cventry_address_book_0.1\addressbook.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True";

第 2 行SqlConnection sqlconobj = new SqlConnection(dd);

第 3 行sqlconobj.Open();

---------错误输出------------

意外字符'\'

4

6 回答 6

3

在 C# 中,反斜杠字符具有特殊含义。
您需要将其加倍或在整个字符串前面加上逐字字符 @
并且无需在文件名前后加上双引号。
格式化规则(结束分号)允许 AttachDbFileName 的路径或文件名中有空格

 string dd = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + 
             @"C:\Users\HEX\Documents\Visual Studio 2008\" + 
             @"Projects\cventry_address_book_0.1\cventry_address_book_0.1" + 
             @"\addressbook.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
于 2013-03-16T17:37:56.417 回答
2

尝试:

string dd = @"Data Source=.\SQLEXPRESS;AttachDbFilename=""C:\Users\HEX\Documents\Visual Studio008\Projects\cventry_address_book_0.1\cventry_address_book_0.1\addressbook.mdf"";Integrated Security=True;Connect Timeout=30;User Instance=True";

您需要使用@字符转义字符串。或者,您可以将 single 替换\\\.

于 2013-03-16T17:37:33.737 回答
1

您应该通过在字符串前面加上字符来转义字符串@。此外,您应该将 SqlConnection 实例包装在 using 语句中:

string dd = @"Data Source=.\SQLEXPRESS;AttachDbFilename=""C:\Users\HEX\Documents\Visual Studio 2008\Projects\cventry_address_book_0.1\cventry_address_book_0.1\addressbook.mdf"";Integrated Security=True;Connect Timeout=30;User Instance=True";
using (SqlConnection sqlconobj = new SqlConnection(dd))
{
    sqlconobj.Open();
}
于 2013-03-16T17:37:18.780 回答
0

你需要转义这个\角色。用这个:

string dd = @"Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Users\HEX\Documents\Visual Studio 2008\Projects\cventry_address_book_0.1\cventry_address_book_0.1\addressbook.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True";

更多:字符串文字

于 2013-03-16T17:37:34.320 回答
0
string dd = "Data Source=.\\SQLEXPRESS;AttachDbFilename=\"C:\\Users\\HEX\\Documents\\Visual Studio 2008\\Projects\\cventry_address_book_0.1\\cventry_address_book_0.1\\addressbook.mdf\";Integrated Security=True;Connect Timeout=30;User Instance=True";
于 2013-03-16T17:42:08.610 回答
0

这应该是您的查询连接字符串

string dd = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + 
                            @"C:\Users\HEX\Documents\Visual Studio 2008\Projects\cventry_address_book_0.1\cventry_address_book_0.1\addressbook.mdf" 
                            + ";Integrated Security=True;Connect Timeout=30;User Instance=True";
于 2013-03-16T17:46:03.617 回答