红色的部分是错误的地方,也就是怎么样把
“System.Data.Common.DbTransaction”强制转换成
“System.Data.SqlClient.SqlTransaction”。
下面是代码。
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using System.Data.SqlClient;
using System.Configuration;
using System.Data.Common;/// <summary>
/// UserAddAndUpdata 的摘要说明
/// </summary>
public class UserAddAndUpdata
{
public UserAddAndUpdata()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
///<summary>
///公有方法,执行一组SQL语句
///</summary>
///<param name="Sqlstrings">Sql语句组</param>
///<returns>是否成功</returns> public bool ExecuteSQL(ArrayList SqlStrings)
{
bool success = true;
//obtain the database provider name
string dataProviderName = BookShopConfiguration.DbProviderName;
//obtain the database connection string
string connectionString = BookShopConfiguration.DbConnectionString;
//create a new data provider factory
DbProviderFactory factory = DbProviderFactories.GetFactory(dataProviderName);
//obtain a database specific connection object
DbConnection conn = factory.CreateConnection();
//set the connection string
conn.ConnectionString = connectionString;
SqlCommand cmd = new SqlCommand();
SqlTransaction trans = conn.BeginTransaction();
cmd.Connection = conn;
cmd.Transaction = trans;
try
{
foreach (String str in SqlStrings)
{
cmd.CommandText = str;
cmd.ExecuteNonQuery();
}
trans.Commit();
}
catch
{
success = false;
trans.Rollback();
}
finally
{
if(conn!=null)
conn.Close();
}
return success;
} ///<summary>
///公有方法,在一个数据表中插入记录
///</summary>
///<param name="TableName">表名</param>
///<param name="Cols">哈希表,键值(KEY)为字段名,值(value)为字段值</param>
///<returns>是否成功</returns>
public bool Insert(String TableName, Hashtable Cols)
{
int Count = 0;
if (Cols.Count <= 0)
{
return true;
}
string Fields = "(";
string Values = "Values(";
foreach (DictionaryEntry item in Cols)
{
if (Count != 0)
{
Fields += ",";
Values += ",";
}
Fields += ")";
Values += ")";
string SqlString = "Insert into" + TableName + Fields + Values;
return Convert.ToBoolean(ExecuteSQL(SqlString)); }
}
}
“System.Data.Common.DbTransaction”强制转换成
“System.Data.SqlClient.SqlTransaction”。
下面是代码。
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using System.Data.SqlClient;
using System.Configuration;
using System.Data.Common;/// <summary>
/// UserAddAndUpdata 的摘要说明
/// </summary>
public class UserAddAndUpdata
{
public UserAddAndUpdata()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
///<summary>
///公有方法,执行一组SQL语句
///</summary>
///<param name="Sqlstrings">Sql语句组</param>
///<returns>是否成功</returns> public bool ExecuteSQL(ArrayList SqlStrings)
{
bool success = true;
//obtain the database provider name
string dataProviderName = BookShopConfiguration.DbProviderName;
//obtain the database connection string
string connectionString = BookShopConfiguration.DbConnectionString;
//create a new data provider factory
DbProviderFactory factory = DbProviderFactories.GetFactory(dataProviderName);
//obtain a database specific connection object
DbConnection conn = factory.CreateConnection();
//set the connection string
conn.ConnectionString = connectionString;
SqlCommand cmd = new SqlCommand();
SqlTransaction trans = conn.BeginTransaction();
cmd.Connection = conn;
cmd.Transaction = trans;
try
{
foreach (String str in SqlStrings)
{
cmd.CommandText = str;
cmd.ExecuteNonQuery();
}
trans.Commit();
}
catch
{
success = false;
trans.Rollback();
}
finally
{
if(conn!=null)
conn.Close();
}
return success;
} ///<summary>
///公有方法,在一个数据表中插入记录
///</summary>
///<param name="TableName">表名</param>
///<param name="Cols">哈希表,键值(KEY)为字段名,值(value)为字段值</param>
///<returns>是否成功</returns>
public bool Insert(String TableName, Hashtable Cols)
{
int Count = 0;
if (Cols.Count <= 0)
{
return true;
}
string Fields = "(";
string Values = "Values(";
foreach (DictionaryEntry item in Cols)
{
if (Count != 0)
{
Fields += ",";
Values += ",";
}
Fields += ")";
Values += ")";
string SqlString = "Insert into" + TableName + Fields + Values;
return Convert.ToBoolean(ExecuteSQL(SqlString)); }
}
}
解决方案 »
- javascript,如何获取某个元素或者鼠标的屏幕坐标和窗口坐标?
- Response.WriteFile(fileName.xml)的问题?
- sql语句如何写
- 关于checkbox控件
- 请问怎样将页面上一组textbox的内容作为参数传递给报表并打印出来
- 小菜一碟——一步一步用C#写论坛(开放源码)-5(V0.3发布方法):高手免进。
- 糟糕,看不到网页了
- 祝xixigongzhu(夕夕公主)生日快乐!
- 紧急:asp.net中如何在webform里插入“文本编辑器”了?
- 寻求实现网站个性化的最佳方法,请各位给出建议
- 自己写了个自定义空间,出现问题,求教
- GridView里的HyperLinkField列 怎么连接到一个新的窗口?
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using System.Data.SqlClient;
using System.Configuration;
using System.Data.Common;/// <summary>
/// UserAddAndUpdata 的摘要说明
/// </summary>
public class UserAddAndUpdata
{
public UserAddAndUpdata()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
///<summary>
///公有方法,执行一组SQL语句
///</summary>
///<param name="Sqlstrings">Sql语句组</param>
///<returns>是否成功</returns> public bool ExecuteSQL(ArrayList SqlStrings)
{
bool success = true;
//obtain the database provider name
string dataProviderName = BookShopConfiguration.DbProviderName;
//obtain the database connection string
string connectionString = BookShopConfiguration.DbConnectionString;
//create a new data provider factory
DbProviderFactory factory = DbProviderFactories.GetFactory(dataProviderName);
//obtain a database specific connection object
DbConnection conn = factory.CreateConnection();
//set the connection string
conn.ConnectionString = connectionString;
SqlCommand cmd = new SqlCommand();
SqlTransaction trans = conn.BeginTransaction() as SqlTransaction;
cmd.Connection = conn as SqlConnection;
cmd.Transaction = trans;
try
{
foreach (String str in SqlStrings)
{
cmd.CommandText = str;
cmd.ExecuteNonQuery();
}
trans.Commit();
}
catch
{
success = false;
trans.Rollback();
}
finally
{
if(conn!=null)
conn.Close();
}
return success;
} ///<summary>
///公有方法,在一个数据表中插入记录
///</summary>
///<param name="TableName">表名</param>
///<param name="Cols">哈希表,键值(KEY)为字段名,值(value)为字段值</param>
///<returns>是否成功</returns>
public bool Insert(String TableName, Hashtable Cols)
{
int Count = 0;
if (Cols.Count <= 0)
{
return true;
}
string Fields = "(";
string Values = "Values(";
foreach (DictionaryEntry item in Cols)
{
if (Count != 0)
{
Fields += ",";
Values += ",";
}
Fields += ")";
Values += ")";
string SqlString = "Insert into" + TableName + Fields + Values;
return Convert.ToBoolean(ExecuteSQL(SqlString)); }
}
}
红色部分出错误,页面错误提示
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS1502: 与“UserAddAndUpdata.ExecuteSQL(System.Collections.ArrayList)”最匹配的重载方法具有一些无效参数源错误: 行 96: Values += ")";
行 97: string SqlString = "Insert into" + TableName + Fields + Values;
行 98: return Convert.ToBoolean(ExecuteSQL(SqlString));
行 99:
行 100: }
我是从一本.NET书上的实例中的申请用户的那以部分,添加到自己做的站点中的。