这个问题已在网络上得到解决,我尝试了许多事情但没有成功。 SQL EXPRESS服务设置为接受本地系统帐户,但问题仍然存在。
这是我的连接字符串:
<add name="PhoneTemplateChange" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Database=PhoneTemplateChange;Integrated Security=SSPI" />
我在我的构造函数中创建了一个用于执行数据库操作的类
_connectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["PhoneTemplateChange"].ConnectionString;
以及此类中插入数据的方法
public void AddNewChangeOrder(int operation, int targetExt)
{
using (SqlConnection con = new SqlConnection(_connectionString))
{
string sql = "INSERT into [dbo].ChangeOrder (operation, targetExt, dtrequested) VALUES (@operation, @targetExt, @dtrequested)";
using (SqlCommand cmd = new SqlCommand(sql))
{
try
{
cmd.Parameters.AddWithValue("@operation", operation);
cmd.Parameters.AddWithValue("@targetExt", targetExt);
cmd.Parameters.AddWithValue("dtrequested", DateTime.Now);
//con.CreateCommand();
con.Open();
//cmd.InitializeLifetimeService();
int rows = cmd.ExecuteNonQuery();
con.Close();
}
catch (SqlException e)
{
throw new Exception(e.Message);
}
}
}
我已尝试使用连接字符串尝试所有不同的建议,上面方法中的注释代码也是我尝试解决问题的方法。仍然没有运气!
我也改变了连接字符串,我得到两种不同的例外
Database=PhoneTemplateChange
上面给出了标题中的例外情况。 以下给出了异常“无法打开登录请求的数据库PhoneTemplatechange.mdf。登录失败的用户'mydomain \ myusername'”
Database=PhoneTemplateChange.mdf
有什么想法吗?
答案 0 :(得分:2)
您缺少指定cmd
使用con
作为连接的代码行。因此,Command(cmd)没有连接,并且con根本不与任何命令相关联。
在执行前添加此行:
cmd.Connection - con;
或者(以及更好的IMO)更改您的using语句,如下所示:
using (SqlCommand cmd = new SqlCommand(sql, con))