C#个人通信录,里面有个登陆的if (OpertDB.ExecuteReader(sql))这一句不知道怎么解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#个人通信录,里面有个登陆的if (OpertDB.ExecuteReader(sql))这一句不知道怎么解决相关的知识,希望对你有一定的参考价值。
是不是要新建一个OpertDB类,在里面构造一个ExecuteReader(sql)函数。word来源在http://wenku.baidu.com/view/e918ca4569eae009581bec12.html?from=related&hasrec=1;
那个好解决,,,我有数据库类库,下面是代码
public static class SqlHerPer
private static string constr = ConfigurationManager.ConnectionStrings["Sqlconn"].ConnectionString;
/// <summary>
/// 执行数据增删改操作
/// </summary>
/// <param name="sql">Sql语句</param>
/// <param name="param">参数</param>
/// <returns>受影响的行数</returns>
public static int ExecuteNonQuery(string sql, params SqlParameter[] param)
using (SqlConnection conn = new SqlConnection(constr))
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
cmd.Parameters.AddRange(param);
return cmd.ExecuteNonQuery();
/// <summary>
/// 执行数据查询操作
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="param">参数</param>
/// <returns>SqlDataReader一条数据</returns>
public static SqlDataReader ExecuteDataReader(string sql, params SqlParameter[] param)
SqlConnection conn = new SqlConnection(constr);
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
cmd.Parameters.AddRange(param);
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
/// <summary>
/// 返回查询结果第一行和第一列。
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="param">参数</param>
/// <returns>object</returns>
public static object ExecuteScalar(string sql, params SqlParameter[] param)
using (SqlConnection conn = new SqlConnection(constr))
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
cmd.Parameters.AddRange(param);
return cmd.ExecuteScalar();
/// <summary>
/// 返回一个数据集的table表
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="param">参数</param>
/// <returns></returns>
public static DataTable ExecuteTable(string sql, params SqlParameter[] param)
DataTable table = new DataTable();
using (SqlConnection conn = new SqlConnection(constr))
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
cmd.Parameters.AddRange(param);
SqlDataAdapter adapet = new SqlDataAdapter(cmd);
adapet.Fill(table);
return table;
//下面是储存过程的执行的类
/// <summary>
/// 执行存储过程数据增删改操作
/// </summary>
/// <param name="sql">Sql语句</param>
/// <param name="param">参数</param>
/// <returns>受影响的行数</returns>
public static int ProcNonQuery(string sql, params SqlParameter[] param)
using (SqlConnection conn = new SqlConnection(constr))
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(param);
return cmd.ExecuteNonQuery();
/// <summary>
/// 执行存储过程数据查询操作
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="param">参数</param>
/// <returns>SqlDataReader一条数据</returns>
public static SqlDataReader ProcDataReader(string sql, params SqlParameter[] param)
SqlConnection conn = new SqlConnection(constr);
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(param);
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
/// <summary>
/// 返回存储过程查询结果第一行和第一列。
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="param">参数</param>
/// <returns>object</returns>
public static object ProcScalar(string sql, params SqlParameter[] param)
using (SqlConnection conn = new SqlConnection(constr))
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(param);
return cmd.ExecuteScalar();
/// <summary>
/// 返回存储过程一个数据集的table表
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="param">参数</param>
/// <returns></returns>
public static DataTable ProcTable(string sql, params SqlParameter[] param)
DataTable table = new DataTable();
using (SqlConnection conn = new SqlConnection(constr))
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(param);
SqlDataAdapter adapet = new SqlDataAdapter(cmd);
adapet.Fill(table);
return table;
参考技术A 可以看出OpertDB.ExecuteReader(sql) 这是一个通用的数据库操作类opertDB的一个通用方法ExecuteReader, sql就是一个完整的sql语句, if 需要一个返回值,true、false,那么OpertDB.ExecuteReader(sql)这个方法要有返回值true,false,根据题意,这个应该是比对登录用户密码的,sql应该是这样的“select count(*) from user where user=‘***’ and passwd=‘***’",执行结果如果=1 则返回treu ,0 返回false
你自己写这个类和方法吧,文库没给出来吗,你用sqlhelper 是微软的通用数据库操作类,也可以替换,
C#比较大小
四个文本框,前三个可输入double类型数据,在第四个文本框中显示最大的数字和最小数字的差的,有个按钮控制.
三个文本框算一组,每个里面输入个double型数据,求出最大值和最小值的差,有三组,意思就是9个文本框,总共要输入9个数据,
每组最大值减最小值的差之和除以3,就要这个数字,找个文本框显示,不会再变了
private void button1_Click(object sender, EventArgs e)//点击按钮事件
double[] num=new double[3];
double a = Convert.ToDouble(textBox1.Text);
num[0]=a;
double b = Convert.ToDouble(textBox2.Text);
num[1]=b;
double c = Convert.ToDouble(textBox3.Text);
num[2]=c;
double max=num[0],min=num[0];
for(int i=0;i<3;i++)
if(num[i]>max)
max=num[i];
if(num[i]<min)
min=num[i];
double sum=max-min;
textBox4.Text = sum.ToString();
本回答被提问者采纳 参考技术B 楼上的方法是对的,但是多定义了变量,浪费内存中的指针地址。。
以上是关于C#个人通信录,里面有个登陆的if (OpertDB.ExecuteReader(sql))这一句不知道怎么解决的主要内容,如果未能解决你的问题,请参考以下文章
我用C#创建的是windows窗体应用项目,做的是登陆页面,里面可以使用session吗