簡體   English   中英

如何建立數據庫(sql)連接使用c#從文本字段接收數據?

[英]How to Establish database(sql) Connection to receive the data from textfields using c#?

我想建立數據庫連接以從Textfields接收數據並將該數據存儲在數據庫記錄中。 為此,到目前為止我已經嘗試過:

我已經創建了.mdf數據庫文件,並且我已經創建了名為Table1並且我已經放置了兩個文本字段和提交按鈕,其中包含以下代碼: data.aspx

<b>Username:<asp:TextBox ID="TextBox1" runat="server" BackColor="AliceBlue">
</asp:TextBox><br/>
<b>Lastname:<asp:TextBox ID="TextBox2" runat="server" BackColor="AliceBlue">
</asp:TextBox><br/>
<asp:Button ID="Button1" runat="server" Text="Submit" OnClick="SubmitBtn_Click"/>

代碼文件如下: data.aspx.cs

using System.Web.Configuration;
using System.Data.SqlClient;
protected void SubmitBtn_Click(object sender, EventArgs e)
{
    string connectionStrings = "Data Source=|SQLEXPRESS;Integrated                       
   Security=True; Connect Timeout=30;User Instance=True;";

    using (SqlConnection sqlConnection = new SqlConnection(connectionStrings))
{
    string insertStatement = "INSERT INTO Table1(column1,column2) 
                              VALUES (@col1, @col2)";
    SqlCommand sqlCommand = new SqlCommand(insertStatement, sqlConnection);
    sqlCommand.Parameters.AddWithValue("@col1", TextBox1.Text);
    sqlCommand.Parameters.AddWithValue("@col2", TextBox2.Text);
    sqlConnection.Open();
    sqlCommand.ExecuteNonQuery();
    try
    {
        sqlConnection.Open();
        sqlCommand.ExecuteNonQuery();

    }
    finally
    {
        sqlConnection.Close();
    }
}


}

我還有如下配置文件來建立連接,代碼如下: web.config

<?xml version="1.0"?>
<configuration>
<system.web>
    <compilation debug="true" targetFramework="4.0" />

</system.web>
</configuration>

但對於該代碼,我在單擊提交按鈕后收到此錯誤:

建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱是否正確,以及SQL Server是否配置為允許遠程連接。 (提供者:命名管道提供程序,錯誤:40 - 無法打開與SQL Server的連接)

還有例外:

System.Data.SqlClient.SqlException:建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱是否正確,以及SQL Server是否配置為允許遠程連接。 (提供者:命名管道提供程序,錯誤:40 - 無法打開與SQL Server的連接)

誰能幫我?

檢查sql server實例是否正在運行。 轉到開始 - > SQL Server配置管理器
並檢查您的SQL Server實例是否已啟動。

或者嘗試將連接字符串更改為

string connectionStrings = "Data Source=.\SQLEXPRESS;
 Initial Catalog=databaseName Integrated Security=True;";

拋出異常是因為您的SQL Server實例實際上無法訪問,或者您的SQL Server實例未啟動,或者有防火牆阻止了對默認1433端口的請求,以遠程訪問SQL Server實例。

閱讀文檔頁面: http//msdn.microsoft.com/en-us/library/ms177440.aspx

記得檢查你的連接字符串。 你寫的連接字符串:

"Data Source=|SQLEXPRESS;Integrated                       
   Security=True; Connect Timeout=30;User Instance=True;"

我認為這不正確。 如果您要連接到名為SQLEXPRESS的本地第二個SQL實例,則這是正確的連接字符串:

"Data Source=.\SQLEXPRESS;Integrated                       
   Security=True; Connect Timeout=30;User Instance=True;"

此外,您正在使用設置Integrated Security=True; 這意味着您嘗試使用Windows憑據進行連接。 您確定您有權使用Windows憑據進行連接嗎? 如果沒有,請刪除此設置並添加您的用戶名和密碼,就像在此連接字符串中一樣:

"Data Source=.\SQLEXPRESS;User Id=sa; Password=sa123; Connect Timeout=30;"

閱讀有關使用Integrated Security設置的這個有趣問題。

此外,您的SQLEXPRESS實例似乎是一個用戶實例 這個實例是否已啟用?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM