C#连接数据源问题

时间:2014-02-01 22:31:27

标签: c# asp.net

我是一名初学者,曾经做过VB.NET,现在正在尝试学习C#。我一直在尝试设置几个表单,我可以将数据插入到sql表中,但每次我尝试运行ASPX页面时都会说

  

“构建项目时出错。你想继续吗?   预览无论如何?“

当我查看错误列表时,我得到两个:

  1. 警告1:生成Track.aspx的设计器文件失败:错误HRESULT E_FAIL已从调用COM组件返回。
  2. 错误2:无法识别的转义序列
  3. 错误指向连接的服务器部分:

      

    数据源= iskra-laptop \ SQLEXPRESS; (S用红色突出显示)

    我不确定如何解决这个问题,感谢任何帮助。以下是代码,表单和C#文件,

    p.s。:我知道SqlParameter,一旦我解决了这个问题,我将使用它:)


    更新:我修复了连接,我错过了一个额外的\,但第一个错误仍然存​​在。现在,我的变量没有得到识别,它说它在当前上下文中不存在,是的,我仔细检查了id名称,它们是正确的。

1 个答案:

答案 0 :(得分:3)

SqlConnection myConnection = new SqlConnection("Data Source=iskra-laptop\SQLEXPRESS;Initial Catalog=master;Integrated Security=True;Pooling=False");

在字符串前添加@:

SqlConnection myConnection = new SqlConnection(@"Data Source=iskra-laptop\SQLEXPRESS;Initial Catalog=master;Integrated Security=True;Pooling=False");

\在字符串中形成转义序列。例如,\n是换行符。 \S不是有效的转义序列,因此编译器正在哭泣。

@告诉编译器按字面意思处理字符串。换句话说,忽略标准转义序列。

阅读@的内容:http://blogs.msdn.com/b/csharpfaq/archive/2004/03/12/what-does-an-before-the-start-of-a-string-literal-mean.aspx

另一种解决方案如下:

SqlConnection myConnection = new SqlConnection("Data Source=iskra-laptop\\SQLEXPRESS;Initial Catalog=master;Integrated Security=True;Pooling=False");

现在我们正在逃避斜线,因此\\S被解释为\S,正如您所希望的那样。