如何使用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的连接)
检查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实例似乎是一个用户实例。此实例是否已启用?