【问题标题】:How To Get SqlConnection Instantiated?如何让 SqlConnection 实例化?
【发布时间】:2019-09-17 14:58:14
【问题描述】:

我正在按照教程制作一个 ASP.NET Web 应用程序,并开始建立与我在解决方案中右键单击我的项目名称时通过添加>新项目命令在 VisualStudio 中添加的 SQL 数据库项目的连接的部分探险家。

但是,在放置适当的命名空间后,VS 无法识别我尝试实例化的 SQLConnection。

我不断收到错误消息:“修饰符 'new' 对此项目无效”等等。

我已经尝试删除“@”符号,已经尝试将路径放入字符串中,但现在 VS 甚至无法识别简单的字符串实例化!

这是代码版本 1:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

namespace AdressBook
{
    public partial class WebForm1 : System.Web.UI.Page

        SqlConnection conn = new SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename|DataDirectory\AdressBookDatabase.mdf;Integrated Security=True");

这里是代码版本 2:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

namespace AdressBook
{
    public partial class WebForm1 : System.Web.UI.Page

        string datapath = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename|DataDirectory\AdressBookDatabase.mdf;Integrated Security=True"

        SqlConnection conn = new SqlConnection(datapath);

我希望没有红色/绿色下划线,并且能够在单击按钮时连接到我的数据库。怎么了?

【问题讨论】:

  • 您使用的是什么版本的 SQL Server?
  • 您在字符串 datapath = "blah" 的末尾缺少一个分号
  • @Programnik 对不起,我复制错了。我在路径末尾有分号,但它仍未实例化。
  • @Vlam 我不是,我在通过 Add>New Item 添加新项目时使用的是 SQL Server 数据库项目。
  • 试试Server=.\SQLExpress;AttachDbFilename=|DataDirectory|AdressBookDatabase.mdf;Database=yourdbname; Trusted_Connection=Yes; 注意AttachDbFilename后面有一个等号。在其中添加您自己的数据库名称。 AdressBookDatabase.mdf 也拼写正确?

标签: c# asp.net sql-server visual-studio visual-studio-2017


【解决方案1】:

也许这是一个复制/粘贴错误,但您在课程开头缺少大括号:

namespace AdressBook
{
    public partial class WebForm1 : System.Web.UI.Page
    {   //<---- opening curly brace required!
        string datapath = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename|DataDirectory\AdressBookDatabase.mdf;Integrated Security=True"

【讨论】:

  • 我希望我有声望,否则我可以发布图片。我有卷曲的图像,太大声笑。也许我可以试试,这里是链接:i.imgur.com/ejNBJeJ.pngi.imgur.com/zAO5MRF.png
  • 你说得对,我太盲目了。弗拉姆的回答让我看到了,但你是真正逐字告诉我的人。现在可以使用了,谢谢。
【解决方案2】:

我已经尝试了以下方法,它适用于我的 VS2017。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection("Server=(localdb)\v11.0;Integrated Security=true;AttachDbFileName=C:\\Users\\MySelf\\Documents\\Visual Studio 2017\\Projects\\TestSQL\\TestSQL\\App_Data\\Database.mdf;");
    }
}

【讨论】:

  • 很高兴看到。我不知道我的有什么问题。我什至无法设置一个简单的字符串而不会出现红色语法错误(例如 string dog = "woof";)
  • 听起来您没有转义某些字符,或者该行上方某处缺少一些分号。
  • 是的,我将代码放在标题和大括号之间,而不是在大括号之间。我将我的代码移到了正确的位置,现在它可以工作了,谢谢。
猜你喜欢
  • 1970-01-01
  • 2010-10-10
  • 1970-01-01
  • 2021-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多