[英]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.