初始化字符串的格式不符合从索引50开始的规范

时间:2013-05-02 15:49:53

标签: c#

我不知道这意味着什么,我可以得到一些帮助吗

  

“初始化字符串的格式不符合规范   从指数50开始。“

代码:

InitializeComponent();
connString = "Data   Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\andrew\\Documents\\Vinyl0.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
query = "SELECT * FROM Record";
dAdapter = new SqlDataAdapter(query, connString); //This is where the error appears.
dTable = new DataTable();
cBuilder = new SqlCommandBuilder(dAdapter);
cBuilder.QuotePrefix = "[";
cBuilder.QuoteSuffix = "]";
myDataView = dTable.DefaultView;
dAdapter.Fill(dTable);
BindingSource bndSource = new BindingSource();
bndSource.DataSource = dTable;

4 个答案:

答案 0 :(得分:9)

我注意到C:\\Users\andrew\\

看起来你正在寻找中间的\\,但结果却是\a,这是一个破坏连接字符串格式的字符的转义序列。

答案 1 :(得分:6)

我怀疑这是问题所在:

C:\\Users\andrew

\a是“警告”字符(U + 0007)的转义序列...我怀疑你想要一个反斜杠后跟“a”。你不幸的是你不仅仅得到了一个编译时错误,如果你有\j或其他一些无效的转义序列,你就会犯这个错误。

我建议使用逐字字符串文字,这样就不需要将所有反斜杠加倍:

connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\andrew\Documents\Vinyl0.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

答案 2 :(得分:3)

你在“andrew”的a前面错过了一个反斜杠。它应该是这样的:

connString = "Data   Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\andrew\\Documents\\Vinyl0.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

答案 3 :(得分:2)

C:\\Users\是您的问题,您需要将其更改为C:\\Users\\