数据库连接字符串asp.net出现语法错误;c#

本文关键字:语法 错误 字符串 asp net 数据库连接 | 更新日期: 2023-09-27 18:13:09

我已经编写了连接代码,以便使用c#将asp.net表单数据插入到在Microsoft Visual Studio 2015中创建的SQL服务器中。我现在遇到的问题是,由于Synax错误,我无法测试表单是否有效。文本文件之间有空格,我不确定这是否是出现错误的原因?或者连接文件放错地方了?我直接从Microsoft Access复制了路径。如有任何建议,我们将不胜感激。

错误:

编译器错误消息:CS1003:语法错误,应为",">

来源错误:

第11行:公共分部类_默认:System.Web.UI.Page

第12行:{

第13行:SqlConnection con=新的SqlConnection(@"DataSource=(LocalDB(''MSSQLLocalDB;AttachDbFilename="C:''用户''P''Docs''Visual Studio2015''WebSites''WebSite2''App_Data''Database.mdf";集成安全=真"(;

第14行:protected void Page_Load(object sender,EventArgs e(

第15行:{

源文件:C:''Users''p''Docs''Visual Studio2015''WebSites''WebSite2''Default.aspx行:13

这是c#中的表单代码

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

public partial class _Default : System.Web.UI.Page
{
    SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)'MSSQLLocalDB;AttachDbFilename="C: 'Users'P'Docs'Visual Studio 2015'WebSites'WebSite2'App_Data'Database.mdf";Integrated Security=True");
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void Unnamed1_Click(object sender, EventArgs e)
    {
        con.Open();
        SqlCommand cmd = con.CreateCommand();
        cmd.CommandType = System.Data.CommandType.Text;
        cmd.CommandText = "insert into Table values('" + pName.Text + "','" + pEmail.Text + "')";
        cmd.ExecuteNonQuery();
        con.Close();
    }
}

数据库连接字符串asp.net出现语法错误;c#

您在同一字符串中使用了两次",我认为它们甚至在准备@时都不起作用。请尝试使用'",连接字符串也应在app.configweb.config文件中。切勿在源代码中进行硬编码

应该是

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)'MSSQLLocalDB;AttachDbFilename='"C: 'Users'P'Docs'Visual Studio 2015'WebSites'WebSite2'App_Data'Database.mdf'";Integrated Security=True")

因为编译器不清楚你的意思。因此,我们使用"''"作为一个信号,表明下面的字符应该被解释为……嗯,一个字符,而不是一个关键字。

否则"被解释为导致string one:"数据源=(LocalDB(''MSSQLLocalDB;AttachDbFilename=''">

"非逻辑"数据(因为不是起始号或结束号(:C:''Users''p''Docs''Visual Studio 2015''WebSites''WebSite2''App_data''Database.mdf''

字符串二:;集成安全=真

其他可能性:

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)'MSSQLLocalDB;AttachDbFilename=" + @"C: 'Users'P'Docs'Visual Studio 2015'WebSites'WebSite2'App_Data'Database.mdf" + ";Integrated Security=True")

无论如何,使用web.config/app.config更符合您的目的。

使用连接字符串和web.config来简化更改。

web.config示例:

<configuration>
    <connectionStrings>
        <add name="LoginDB" connectionString="Data Source=(LocalDB)''MSSQLLocalDB;AttachDbFilename=C:''Users''P''Docs''Visual Studio 2015''WebSites''WebSite2''App_Data''Database.mdf;Integrated Security=True" />
    </connectionStrings>
</configuration>

将您的代码更改为:

SqlConnection con = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["LoginDB"].ConnectionString);