求一个好用的sqlhelper 微软的sqlhelper太复杂,求一个简单实用的SQLHelper 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SQLHELPER 这个要是再复杂,干脆不要用dot net了,整个framework不知道比这个复杂多少倍 你用动软.NET生成三层架构吧!自带有一个SQLhelp SQLhelp又没多少东西,自己写一个啊! 微软的WebCast视频中使用的类, 共四段。前三段参考:http://topic.csdn.net/u/20090626/11/3564a7d4-e706-42b3-8cd2-1028ba137a31.html中的 12 13 14 楼, 第四段内容为://=====================================================GetDataTable()============================================== #region 执行查询,并以DataTable返回结果集 GetDataTable(string sql) /**//// <summary> /// 执行查询,并以DataTable返回结果集 /// </summary> /// <param name="sql">SQL语句 </param> /// <param name="cmdtype">命令类型 </param> /// <param name="parameters">参数 </param> /// <returns>DataTable </returns> public DataTable GetDataTable(string sql) { DbParameter[] parameters = new DbParameter[0]; DataTable dt = GetDataSet(sql, CommandType.Text, parameters).Tables[0]; return dt; } /**//// <summary> /// 执行查询,并以DataTable返回结果集 /// </summary> /// <param name="sql">SQL语句 </param> /// <param name="cmdtype">命令类型 </param> /// <param name="parameters">参数 </param> /// <returns>DataTable </returns> public DataTable GetDataTable(string sql, CommandType cmdtype) { DbParameter[] parameters = new DbParameter[0]; DataTable dt = GetDataSet(sql, cmdtype, parameters).Tables[0]; return dt; } /**//// <summary> /// 执行查询,并以DataTable返回结果集 /// </summary> /// <param name="sql">SQL语句 </param> /// <param name="cmdtype">命令类型 </param> /// <param name="parameters">参数 </param> /// <returns>DataTable </returns> public DataTable GetDataTable(string sql, DbParameter[] parameters) { DataTable dt = GetDataSet(sql, CommandType.Text, parameters).Tables[0]; return dt; } /**//// <summary> /// 执行查询,并以DataTable返回结果集 /// </summary> /// <param name="sql">SQL语句 </param> /// <param name="cmdtype">命令类型 </param> /// <param name="parameters">参数 </param> /// <returns>DataTable </returns> public DataTable GetDataTable(string sql, CommandType cmdtype, DbParameter[] parameters) { DataTable dt = GetDataSet(sql, cmdtype, parameters).Tables[0]; return dt; } /**//// <summary> /// 执行查询,并以DataTable返回指定记录的结果集 /// </summary> /// <param name="sql">SQL语句 </param> /// <param name="StartIndex">开始索引 </param> /// <param name="RecordCount">显示记录 </param> /// <returns>DataTable </returns> public DataTable GetDataTable(string sql, int StartIndex, int RecordCount) { return GetDataSet(sql, StartIndex, RecordCount).Tables[0]; } /**//// <summary> /// 执行查询,返回以空行填充的指定条数记录集 /// </summary> /// <param name="sql">SQL语句 </param> /// <param name="SizeCount">显示记录条数 </param> /// <returns>DataTable </returns> public DataTable GetDataTable(string sql, int SizeCount) { DataTable dt = GetDataSet(sql).Tables[0]; int b = SizeCount - dt.Rows.Count; if (dt.Rows.Count < SizeCount) { for (int i = 0; i < b; i++) { DataRow dr = dt.NewRow(); dt.Rows.Add(dr); } } return dt; } #endregion }} 你可以根据ado.net结合自己的需求自己写一个。 建议到网上搜索个sqlheleper 都是有的。下载后直接放在类里就OK private static SqlConnection connection; public static SqlConnection Connection { get { string connectionString = "Data Source=localhost;Initial Catalog=MyBookShop;User ID=sa;password=123456"; if (connection == null) { connection = new SqlConnection(connectionString); connection.Open(); } else if (connection.State == System.Data.ConnectionState.Closed) { connection.Open(); } else if (connection.State == System.Data.ConnectionState.Broken) { connection.Close(); connection.Open(); } return connection; } } public static int ExecuteCommand(string safeSql) { SqlCommand cmd = new SqlCommand(safeSql, Connection); int result = cmd.ExecuteNonQuery(); return result; } public static int ExecuteCommand(string sql, SqlParameter[] values) { SqlCommand cmd = new SqlCommand(sql, Connection); cmd.Parameters.AddRange(values); return cmd.ExecuteNonQuery(); } public static int ExecuteCommand(string sql, SqlParameter value) { SqlCommand cmd = new SqlCommand(sql, Connection); cmd.Parameters.Add(value); int result = cmd.ExecuteNonQuery(); return result; } public static int ExecuteScalar(string safeSql) { SqlCommand cmd = new SqlCommand(safeSql, Connection); int result = (int)cmd.ExecuteScalar(); return result; } public static int ExecuteScalar(string sql, SqlParameter[] values) { SqlCommand cmd = new SqlCommand(sql, Connection); cmd.Parameters.AddRange(values); int result = (int)cmd.ExecuteScalar(); return result; } public static int ExecuteScalar(string sql, SqlParameter value) { SqlCommand cmd = new SqlCommand(sql, Connection); cmd.Parameters.Add(value); int result = (int)cmd.ExecuteScalar(); return result; } public static SqlDataReader ExecuteReader(string safeSql) { SqlCommand cmd = new SqlCommand(safeSql, Connection); SqlDataReader reader = cmd.ExecuteReader(); return reader; } public static SqlDataReader ExecuteReader(string sql, SqlParameter value) { SqlCommand cmd = new SqlCommand(sql, Connection); cmd.Parameters.Add(value); SqlDataReader reader = cmd.ExecuteReader(); return reader; } public static SqlDataReader ExecuteReader(string sql, SqlParameter[] values) { SqlCommand cmd = new SqlCommand(sql, Connection); cmd.Parameters.AddRange(values); SqlDataReader reader = cmd.ExecuteReader(); return reader; } public static DataTable GetDataSet(string safeSql) { DataSet ds = new DataSet(); SqlCommand cmd = new SqlCommand(safeSql, Connection); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); return ds.Tables[0]; } public static SqlDataReader GetReader(string safeSql) { SqlCommand cmd = new SqlCommand(safeSql, Connection); SqlDataReader reader = cmd.ExecuteReader(); return reader; } public static SqlDataReader GetReader(string sql, params SqlParameter[] values) { SqlCommand cmd = new SqlCommand(sql, Connection); cmd.Parameters.AddRange(values); SqlDataReader reader = cmd.ExecuteReader(); return reader; } http://topic.csdn.net/u/20091019/10/4eb4f2d4-0cb6-49ce-abc5-a135ac6b733d.html 自己写写new SqlConnection()之类的又能费多大劲 不想用别人的sqlhelper。想自己写,但是头头不让... treeview 递归 派生类对象实例化基类对象和override的关系? 关于dataGridView更新问题 visual studio 2010 制作应用程序问题 请教:C#更新数据问题。 C#小程序 List 问题求助 读取Access时报错:字段太小而不能接受所要添加的数据的数量。试着插入或粘贴较少的数据。 HttpWebRequest 使用Proxy 21秒超时问题 请思归大哥进来看看,继续昨天的问题!!谢谢!!在线等到12:00啊!! 网站部署问题 ar6
整个framework不知道比这个复杂多少倍
前三段参考:http://topic.csdn.net/u/20090626/11/3564a7d4-e706-42b3-8cd2-1028ba137a31.html
中的 12 13 14 楼, 第四段内容为://=====================================================GetDataTable()============================================== #region 执行查询,并以DataTable返回结果集 GetDataTable(string sql) /**//// <summary>
/// 执行查询,并以DataTable返回结果集
/// </summary>
/// <param name="sql">SQL语句 </param>
/// <param name="cmdtype">命令类型 </param>
/// <param name="parameters">参数 </param>
/// <returns>DataTable </returns>
public DataTable GetDataTable(string sql)
{
DbParameter[] parameters = new DbParameter[0];
DataTable dt = GetDataSet(sql, CommandType.Text, parameters).Tables[0];
return dt;
}
/**//// <summary>
/// 执行查询,并以DataTable返回结果集
/// </summary>
/// <param name="sql">SQL语句 </param>
/// <param name="cmdtype">命令类型 </param>
/// <param name="parameters">参数 </param>
/// <returns>DataTable </returns>
public DataTable GetDataTable(string sql, CommandType cmdtype)
{
DbParameter[] parameters = new DbParameter[0];
DataTable dt = GetDataSet(sql, cmdtype, parameters).Tables[0];
return dt;
}
/**//// <summary>
/// 执行查询,并以DataTable返回结果集
/// </summary>
/// <param name="sql">SQL语句 </param>
/// <param name="cmdtype">命令类型 </param>
/// <param name="parameters">参数 </param>
/// <returns>DataTable </returns>
public DataTable GetDataTable(string sql, DbParameter[] parameters)
{ DataTable dt = GetDataSet(sql, CommandType.Text, parameters).Tables[0];
return dt;
} /**//// <summary>
/// 执行查询,并以DataTable返回结果集
/// </summary>
/// <param name="sql">SQL语句 </param>
/// <param name="cmdtype">命令类型 </param>
/// <param name="parameters">参数 </param>
/// <returns>DataTable </returns>
public DataTable GetDataTable(string sql, CommandType cmdtype, DbParameter[] parameters)
{
DataTable dt = GetDataSet(sql, cmdtype, parameters).Tables[0];
return dt;
} /**//// <summary>
/// 执行查询,并以DataTable返回指定记录的结果集
/// </summary>
/// <param name="sql">SQL语句 </param>
/// <param name="StartIndex">开始索引 </param>
/// <param name="RecordCount">显示记录 </param>
/// <returns>DataTable </returns>
public DataTable GetDataTable(string sql, int StartIndex, int RecordCount)
{
return GetDataSet(sql, StartIndex, RecordCount).Tables[0];
} /**//// <summary>
/// 执行查询,返回以空行填充的指定条数记录集
/// </summary>
/// <param name="sql">SQL语句 </param>
/// <param name="SizeCount">显示记录条数 </param>
/// <returns>DataTable </returns>
public DataTable GetDataTable(string sql, int SizeCount)
{
DataTable dt = GetDataSet(sql).Tables[0];
int b = SizeCount - dt.Rows.Count;
if (dt.Rows.Count < SizeCount)
{
for (int i = 0; i < b; i++)
{
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
}
}
return dt;
} #endregion }
}
public static SqlConnection Connection
{
get
{
string connectionString = "Data Source=localhost;Initial Catalog=MyBookShop;User ID=sa;password=123456";
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
} public static int ExecuteCommand(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = cmd.ExecuteNonQuery();
return result;
} public static int ExecuteCommand(string sql, SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
} public static int ExecuteCommand(string sql, SqlParameter value)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.Add(value);
int result = cmd.ExecuteNonQuery();
return result;
}
public static int ExecuteScalar(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = (int)cmd.ExecuteScalar();
return result;
} public static int ExecuteScalar(string sql, SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
int result = (int)cmd.ExecuteScalar();
return result;
} public static int ExecuteScalar(string sql, SqlParameter value)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.Add(value);
int result = (int)cmd.ExecuteScalar();
return result;
} public static SqlDataReader ExecuteReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
} public static SqlDataReader ExecuteReader(string sql, SqlParameter value)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.Add(value);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
} public static SqlDataReader ExecuteReader(string sql, SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
public static DataTable GetDataSet(string safeSql)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
}
public static SqlDataReader GetReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
} public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
http://topic.csdn.net/u/20091019/10/4eb4f2d4-0cb6-49ce-abc5-a135ac6b733d.html