优点是出现错误的时候可以返回 错误信息,欢迎指点批评
sqlhepler
class sql { private static readonly string connectionString = "server=.;uid=sa;password=sa;database=LumigentDemoDB"; //System.Configuration.ConfigurationManager.ConnectionStrings["sqlString"].ConnectionString; //返回信息 public class DataAndInformation { //返回信息 public string Message { get; set; } //返回的任意数据 可以使dataset datatable object 可以是影响的行数 增删改查返回的数据都用这个 public object obj { get; set; } } /// <summary> /// /// </summary> /// <param name="param">查询参数</param> /// <param name="CommandText">存储过程名称或sql语句</param> /// <param name="CommandType">sql类型语句or存储过程</param> /// <returns>DataAndInformation</returns> public static DataAndInformation QueryData(string CommandText, CommandType CommandType, SqlParameter[] param) { DataAndInformation di = new DataAndInformation(); DataSet ds = new DataSet(); SqlConnection conn=null; try { conn = new SqlConnection(connectionString); conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = CommandText; cmd.CommandType = CommandType; cmd.Parameters.AddRange(param);//如果没有参数就注释掉 SqlDataAdapter sda = new SqlDataAdapter(cmd); sda.Fill(ds); di.obj = ds; } catch (Exception ex) { di.Message = ex.ToString(); di.obj = null; } finally { conn.Close(); } return di; } }
DLL
string CommanText = "select * from Customers where custid>@custid"; int custid = 2; CommandType CommandType = CommandType.Text; SqlParameter[] param = new SqlParameter[]{ new SqlParameter("@custid",SqlDbType.Int){Value=custid} }; sql.DataAndInformation di = new sql.DataAndInformation(); di = sql.QueryData(CommanText, CommandType, param); DataSet ds = (DataSet)di.obj; string message = di.Message; if (message == null) { Console.WriteLine("\n执行成功\n"); if (ds == null) Console.WriteLine("\n没有数据\n"); else { Console.WriteLine(ds.Tables.Count); Console.WriteLine(ds.Tables[0].Rows.Count); } } else { Console.WriteLine("{0}:\n{1}", "执行失败,详细信息:", message); }