如何使用c#建立数据库(sql)连接以接收来自文本字段的数据

本文关键字:文本 数据 字段 连接 建立 何使用 数据库 sql | 更新日期: 2023-09-27 17:49:15

我想建立数据库连接以接收来自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是否配置为允许远程连接。(提供程序:Named Pipes提供程序,错误:40 -无法打开到SQL Server的连接)

和例外:

System.Data.SqlClient。在建立到SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名是否正确,SQL Server是否配置为允许远程连接。(提供程序:Named Pipes提供程序,错误:40 -无法打开到SQL Server的连接)

有谁能帮我吗?

如何使用c#建立数据库(sql)连接以接收来自文本字段的数据

检查sql server实例是否正在运行。转到Start->SQL Server Configuration Manager
检查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;"

我认为这是不对的。如果要连接到本地的第二个SQL实例,名为SQLEXPRESS,这是正确的连接字符串:

"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实例似乎是一个用户实例。此实例是否已启用?