在aspx.vb文件中
Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim con As New OleDbConnection("Provider= SQLOLEDB.1;Integrated Security=true; data source=myserver; ")
Dim cmd As New OleDbCommand
cmd.Connection = con
cmd.CommandText = "Insert into demo.dbo.masters1 values ('" & TextBox1.Text & " ," & TextBox4.Text & " , " & TextBox3.Text & " ')"
con.Open()
If (cmd.ExecuteNonQuery() > 0) Then
Label1.BorderColor = Drawing.Color.Aquamarine
Else
Label1.BorderColor = Drawing.Color.Black
End If
con.Close()
End Sub
我正在使用Windows身份验证。
服务器已启动并正在运行。
我也试过了:
Dim con As New OleDbConnection("Provider= SQLOLEDB.1;Integrated Security=true; data source=C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\database_name.mdf; ")
但是,我收到以下错误:
没有可用的错误消息,结果代码:DB_E_ERRORSOCCURRED(0x80040E21)。
描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息 异常详细信息:System.Data.OleDb.OleDbException:没有可用的错误消息,结果代码:DB_E_ERRORSOCCURRED(0x80040E21)。
答案 0 :(得分:1)
看起来您正在使用OleDbConnection for SQL Server。
如果您使用SQL Server,则需要SqlConnection。例如,
using(var con = new SqlConnection(
"Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;"))
{
var query = "insert statement ...";
using(var cmd = new SqlCommand(query, con)){
cmd.CommandType = CommandType.Text;
con.Open();
....
}
}
您可能也想查看连接字符串格式here。
仅供参考: 使用参数大小查询来避免SQL注入攻击。