![](/img/trans.png)
[英]Cannot insert the data into the table using C# visual studio 2008
[英]I cannot send/insert data into my new database table using Visual Studio
我在尝试将数据发送到数据库时遇到麻烦。
基本上,我使用的是Visual Studio 2012(专业版)已实现的ASP.Net Web表单。 我创建了一个名为“ users.asps”的额外页面,其中只有三个文本框(用户名,全名和电子邮件)。 然后,我还创建了一个名为“ Datatest.mdf”的新数据库,并在名为“ users”的数据库中添加了一个表,该表包含三个属性:用户名(主键),名称和电子邮件。
以下是我在页面上按钮的代码。 这是我要将所有输入的数据发送到数据库表的地方。
protected void Button1_Click(object sender, EventArgs e)
{
string strun = Request.Form["username"];
string strna = Request.Form["name"];
string strem = Request.Form["email"];
OleDbConnection objconnection = null;
OleDbCommand objcmd = null;
string stringconnection = null;
string strSQL = null;
//connection string
stringconnection = "provider=SQLOLEDB;data source=(LocalDb)\\v11.0;Initial Catalog=Datatest; Integrated Security=SSPI;";
objconnection = new OleDbConnection(stringconnection);
objconnection.ConnectionString = stringconnection;
objconnection.Open();
strSQL = "insert into users(username, name, email)values(?,?,?)";
objcmd = new OleDbCommand(strSQL, objconnection);
objcmd.Parameters.Add(new System.Data.OleDb.OleDbParameter("@username", strun));
objcmd.Parameters.Add(new System.Data.OleDb.OleDbParameter("@name", strna));
objcmd.Parameters.Add(new System.Data.OleDb.OleDbParameter("@email", strem));
objcmd.ExecuteNonQuery();
//close connection
objconnection.Close();
Response.Write("Entered Successfully");
}
但是,当我运行表单时,出现错误“用户代码未处理OleDbException”,然后显示“ SQL Server不存在或访问被拒绝”,其中的箭头指向objconnection.Open();
。
尽管错误位于何处,但我知道问题出在我的字符串连接所在的地方,我只是不知道该如何解决。
stringconnection = "provider=SQLOLEDB;data source=(LocalDb)\\v11.0;Initial Catalog=Datatest; Integrated Security=SSPI;";
我认为SQLOLEDB提供程序不理解使用LocalDB所需的连接字符串。
(LocalDB比SQLOLEDB更新)
尝试使用SQLNCLI11(SQL Server本机客户端v11)
"provider=SQLNCLI11;data source=(LocalDb)\\v11.0;
Initial Catalog=Datatest; Integrated Security=SSPI;";
但是,如果您正处于开发应用程序的初始阶段,我真的建议您使用SqlClient类(例如SqlConnection,SqlCommand等),并抛弃OleDb及其所有限制。 (不支持命名参数)
using System.Data.SqlClient;
......
stringconnection = @"Data Source=(LocalDb)\\v11.0;Initial Catalog=Datatest;
Integrated Security=SSPI;";
using(objconnection = new SqlConnection(stringconnection))
{
objconnection.Open();
strSQL = "insert into users(username, name, email)values(@username, @name, @email)";
using(objcmd = new SqlCommand(strSQL, objconnection))
{
objcmd.Parameters.Add(new SqlParameter("@username", strun));
objcmd.Parameters.Add(new SqlParameter("@name", strna));
objcmd.Parameters.Add(new SqlParameter("@email", strem));
objcmd.ExecuteNonQuery();
}
}
Response.Write("Entered Successfully");
尝试访问此链接https://www.daniweb.com/software-development/csharp/threads/339949/how-to-建立-a-connection-with-sql-server-using-c
也许它可以帮助您解决数据库连接问题:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.