我的web.config是
<connectionStrings>
<add name="taraznegarConnectionString" connectionString="Data Source=.;Initial Catalog=taraznegar;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
这是我的代码:
namespace taraz
{
public class DAL
{
string connection = "Data Source=.;Initial Catalog=taraznegar;Integrated Security=True";
SqlConnection con;
SqlCommand cmd;
SqlDataAdapter da;
DataTable dt;
public DAL()
{
con = new SqlConnection();
con.ConnectionString = connection;
cmd = new SqlCommand();
cmd.Connection = con;
da = new SqlDataAdapter();
da.SelectCommand=cmd;
dt = new DataTable();
}
public DataTable ExecuteReader(string SQL)
{
connect();
da.SelectCommand.Connection = con;
da.SelectCommand.CommandText = SQL;
try
{
da.SelectCommand.ExecuteReader();
}
catch
{
da = null;
}
disconnect();
da.Fill(dt);
return dt;
}
public string ExcuteNonQuery(string SQL)
{
string result=null ;
cmd.CommandText = SQL;
connect();
try
{
cmd.ExecuteNonQuery();
}
catch { result = "خطا"; }
disconnect();
return result;
}
public string ExecuteScalare(string sql)
{
string result = null;
cmd.CommandText = sql;
connect();
try {
result = cmd.ExecuteScalar().ToString();
}
catch { result = "خطا"; }
disconnect();
return result;
}
void connect()
{
if (con.State == ConnectionState.Closed)
con.Open();
}
void disconnect()
{
if (con.State == ConnectionState.Open)
con.Close();
}
}
}
当我在我的项目中使用此类时,错误是:
&#39; /&#39;中的服务器错误应用
不支持关键字:&#39;服务器(本地);数据库&#39;
问题是什么?
答案 0 :(得分:0)
如果您的webconfig文件中有ConnectionString
,那么在您的应用程序中,您无需创建其他连接。你应该使用那个连接。在您的班级DAL
中,您正在创建一个新的连接字符串。而不是你应该使用这样的东西 -
string connectionString = ConfigurationManager.ConnectionStrings["taraznegarConnectionString"].ConnectionString;
答案 1 :(得分:0)
对于Entity Framework(数据库优先或模型优先;当您拥有物理EDMX模型文件时),您需要使用特殊类型的连接字符串,这与其他人提到的直接ADO.NET连接字符串完全不同到目前为止......
连接字符串必须类似于:
<connectionStrings>
<add name="testEntities"
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=.;Initial Catalog=taraznegar;Integrated Security=True;multipleactiveresultsets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
在此连接字符串中,您将找到provider connection string=
属性,该属性基本上是您的ADO.NET连接字符串: