【发布时间】:2015-04-08 11:05:22
【问题描述】:
我刚刚开始使用 Visual Studio 2013 for web 创建一个使用空白表单的网站,我正在努力解决(我认为)是 Access 数据库连接。我创建了可以提取和更新数据库中的数据的表单,但是当我尝试使用文本框创建注册表单以插入数据时,却收到以下错误消息。我知道这段代码不是很好我刚刚开始学习这个!请问谁能帮帮我?
错误信息:
System.ArgumentException:不支持关键字:“提供者”。在 System.Data.Common.DbConnectionOptions.ParseInternal(哈希表 可解析,字符串连接字符串,布尔构建链,哈希表 同义词,布尔 firstKey)在 System.Data.Common.DbConnectionOptions..ctor(字符串连接字符串, Hashtable 同义词,布尔值 useOdbcRules) 在 System.Data.SqlClient.SqlConnectionString..ctor(字符串 连接字符串)在 System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(字符串 connectionString, DbConnectionOptions 以前)在 System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey 键,DbConnectionPoolGroupOptions poolOptions,DbConnectionOptions& 用户连接选项)在 System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey 键)在 System.Data.SqlClient.SqlConnection.set_ConnectionString(字符串值) 在 System.Data.SqlClient.SqlConnection..ctor(字符串连接字符串, SqlCredential 凭证)在 System.Data.SqlClient.SqlConnection..ctor(字符串连接字符串)在 Registration.Button1_Click(Object sender, EventArgs e) in c:\Users\lou\Documents\Visual Studio 2013\WebSites\BeautyExperts\Registration.aspx.cs:22 行
Region.aspx.cs 代码:
`enter code here`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;
using System.Data.OleDb;
public partial class Registration : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["UsersConnectionString"].ConnectionString);
conn.Open();
string insertQuery = "insert into login (first_name,last_name) values (@first_name,@last_name)";
SqlCommand com = new SqlCommand(insertQuery, conn);
com.Parameters.AddWithValue("@first_name", TextBoxFirstName.Text);
com.Parameters.AddWithValue("@last_name", TextBoxLastName.Text);
com.ExecuteNonQuery();
Response.Redirect("UsersGridView.aspx");
Response.Write("Registration successful");
conn.Close();
}
catch (Exception ex)
{
Response.Write("Error: " + ex.ToString());
}
}
}
配置文件:
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
<connectionStrings>
<add name="LoginConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\lou\Documents\BeautyExpertsDB.accdb" providerName="System.Data.OleDb"/>
<add name="UsersConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\lou\Documents\BeautyExpertsDB.accdb" providerName="System.Data.OleDb"/>
<add name="Users1ConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\BeautyExpertsDatabase.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5"/>
</system.web>
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None"/>
</appSettings>
</configuration>
【问题讨论】:
-
我猜我看不到的连接字符串不正确。
-
感谢您的回复。你的意思是连接字符串 "UsersConnectionString" 吗?当使用其他表单来更新和查看数据库中的项目时,这可以正常工作吗?
-
share UsersConnectionString 值,在 web.config 中
-
谢谢,添加配置文件