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# では、バックスラッシュ文字には特別な意味があります。
それを 2 重にするか、文字列全体の前に Verbatim 文字 @
を付ける必要があります。また、ファイル名の前後に二重引用符を付ける必要はありません。
フォーマット ルール (末尾のセミコロン) では、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";

文字を使用して文字列をエスケープする必要があります@\代わりに、シングルをに置き換えることができます\\

于 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 に答える