为什么sql语句有记录,而sqlDataReader.read()的返回值还是false
 protected void input_sub_Click(object sender, EventArgs e)
        {
            string name = db.HtmlToTxt(input_name.Text.Trim());
            string pwd = db.HtmlToTxt(input_pwd.Text.Trim());

            string ip = System.Web.HttpContext.Current.Request.UserHostAddress;
            string md5pwd = MD5(pwd).Substring(5);

            db.open();
            string strall = "select sw_UserName,sw_state from sw_manage where sw_UserName='" + name + "' and sw_UserPassWord='" + md5pwd + "'";
            SqlDataReader sdr = db.sqlcommand(strall).ExecuteReader();
            if (sdr.Read())
            {
                int state = (int)sdr[1];
                if (state != 1)
                {
                    Response.Write("<script>alert('账户未被激活,请与管理员联系!');</script>");
                }
                else
                {
                    string aut = sdr[0].ToString();
                    HttpCookie cookie = new HttpCookie("userName", aut);
                    Response.Cookies.Add(cookie);
                    sdr.Close();
                    string str = "update sw_manage set sw_logintime=GETDATE(),sw_loginIp='" + ip + "' where sw_UserName='" + name + "' and sw_UserPassWord='" + md5pwd + "'";
                    db.checksql(str);
                    db.close();
                    Response.Redirect("main.aspx#");
                }
            }
            else
            {
                Response.Write("<script>alert('用户名或密码错误!');</script>");
                txtPwdwm.Text = "";
                sdr.Close();
                db.close();

            }
        }

sql语句查询是有记录的,

3个回答

你确认strall和你在查询器中的语句完全一样吗,你最好把strall打印出来,放到查询器中试试

qq_28018731
奔跑的蜗牛丨 确定一样的,我复制到数据库中试过了
4 年多之前 回复

加个断点 调试看看先

SqlCommand cmd = new SqlCommand(strall,db)
sdr = cmd.ExecuteReader()
试试?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于SQLDataReader的问题,菜鸟请大神!!
using System; using System.Collections.Generic; using System.Text; using System.Configuration; using System.Data.SqlClient; using Maticsoft.DBUtility; using System.Data; using System.Threading; namespace ConsoleApplication3 { public class Program { static System.Timers.Timer timer; private static object locko = new object(); static void Main(string[] args) { timer = new System.Timers.Timer(); timer.Interval = 5000;//计时器间隔 timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);//计时器间隔事件 timer.Start();//开启计时器 Console.ReadLine(); } static void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { // Comm.ComStr s = new Comm.ComStr(); lock (timer) { try { // DateTime.AddMinite(10) DbHelperSQL.ConnectionString = "Data Source=192.168.0.198;Initial Catalog=abn_LTGS;User ID=sa;Password=;Persist Security Info=True;MultipleActiveResultSets=False;Packet Size=4096;;";//查询第一台服务器数据库的数据 StringBuilder sb = new StringBuilder(); sb.Append("time<15:00 and time <16:00 order by time "); using (SqlDataReader sqlDr = timerToSql(sb.ToString())) { while (sqlDr.Read()) { //DbHelperSQL.ConnectionString = " Data Source=127.0.0.1;Initial Catalog=test1;User ID=sa;Password=;Persist Security Info=True;MultipleActiveResultSets=False;Packet Size=4096;";//插入第二台服务器连接字符串 //bool b = DbHelperSQL.Exists("//判断是否存在存在就插入不存在就不插入"); //if (!b) //{ // //执行插入 //} } } } catch (Exception ex) { Console.WriteLine(ex.Message); } } // Console.ReadLine(); } /// <summary> /// 查询站数据库 DataReader方式 /// </summary> /// <param name="strWhere">SQL语句条件</param> /// <param name="sql">SQL连接字符串</param> /// <returns></returns> public static SqlDataReader timerToSql(string strWhere) { // Comm.ComStr.StrSql = sql;//公共方法传SQL字符串 StringBuilder strSql = new StringBuilder(); strSql.Append("select *"); strSql.Append(" FROM [deviantList] "); if (strWhere.Trim() != "") { strSql.Append(" where " + strWhere); } return DbHelperSQL.ExecuteReader(strSql.ToString()); } } } /// <summary> /// 执行查询语句,返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close ) /// </summary> /// <param name="strSQL">查询语句</param> /// <returns>SqlDataReader</returns> public static SqlDataReader ExecuteReader(string strSQL,string connStr ) { SqlConnection connection = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand(strSQL, connection); try { connection.Open(); SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection); return myReader; } catch (System.Data.SqlClient.SqlException e) { throw e; } } ``` ``` B服务器开启timer一直读取A服务器的数据,向我种写法会不会导致SQLSERVER资源被耗尽,或线程池资源被耗尽? 看网上资料SQLDateReader一定要关闭,不然会导致线程池被耗尽,但我现在写在using模块里应该执行完了就会自动释放吧?
SQL server 数据库@@Error变量值如何返回
其cmd的sql语句为: private const string SQL_INSERT_ORDER = "Declare @ID int; Declare @ERR int; INSERT INTO Orders VALUES( @BillAddress1, @BillAddress2, @BillCity, @BillState, @BillZip, @BillCountry,(。。省略若干值。。) 'U'); SELECT @ID=@@IDENTITY; INSERT INTO OrderStatus VALUES(@ID, @ID, GetDate(), 'P'); SELECT @ERR=@@ERROR;"; INSERT INTO LineItem VALUES( "@ID, @LineNumber0,@ItemId0, @Quantity0,@Price0); SELECT @ERR=@ERR+@@ERROR; 我目前需要读出@ERR自定义变量的值,网上提供的c# 代码如下: var cmd = new sqlcommand(..); cmd.executenonquery();--先执行sql语句。 using (SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { //Read the returned @ERR rdr.Read(); // If the error count is not zero throw an exception if (rdr.GetInt32(1) != 0) throw new ApplicationException("DATA INTEGRITY ERROR ON ORDER INSERT - ROLLBACK ISSUED"); }--读取@err值 **问题来了:** 程序说没有有效的数据读入,应该怎么改?
C#asp.net三层架构,怎么才能通过主键查询到相对应的记录
类库代码如下: /// 把SqlDataReader对象中的数据读出到List中 /// <returns>转换后的列表对象</returns> private List<UserInfo> GetUse(SqlDataReader reader) { List<UserInfo> uselist = new List<UserInfo>(); while (reader.Read()) { use.UName = reader["UName"].ToString(); use.Password = reader["Password"].ToString(); uselist.Add(use); } reader.Close(); return uselist; } /// 根据给定的查询条件,返回考生对象列表 public List<UserInfo> GetuseBySqlStr(string strWhere) { string sql = "select * from UserInfo where 1=1 " + strWhere; using (SqlDataReader dr = SqlDatabase.ExecuteReader(CommandType.Text, sql)) { return GetUse(dr); } } /// 根据给定的条件判断是否存在记录 public bool Existbystr(string str) { string sql = "select * from UserInfo where 1=1 " + str; if (SqlDatabase.ExecuteScalar(CommandType.Text, sql) != null) return true; else return false; } .aspx.cs后台部分代码如下: if (use.Existbystr("and [UName]='" + txtName.Text + "'")) {判断输入的用户名正确之后 ---------这里应该怎么引用类库里的函数,来实现通过登录名查询数据库中对应的密码,判断是否和密码框(txtpassword)相同。 } 急求补充if条件语句里的代码
C#使用sql查询语句求解
sing System; using System.Data; using System.Data.SqlClient; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace library { class linksql { public void con(string shuming) { string connString; connString = "Data Source=DESKTOP-MPLGIDU\\SQLEXPRESS;uid=sa;pwd=admin;database=book;"; SqlConnection sConn = new SqlConnection(connString); try { sConn.Open(); } catch (Exception ex) { Console.WriteLine("连接错误:" + ex.Message); } string sql; sql = "declare @cry varchar(20) set @cry=shuming select * from book1 where 书名=@cry"; SqlCommand sCmd = new SqlCommand(sql, sConn); SqlDataReader sdr = null; sdr = sCmd.ExecuteReader(); while (sdr.Read()) { Console.WriteLine(sdr[0] + " " + sdr["书名"] + sdr["作者"] + " " + sdr["索书号"]); } sdr.Close(); sConn.Close(); } } }
调试不调试不调试不调试不调试不调试不起
#region 建立数据库连接 /// <summary> /// 建立数据库连接. /// </summary> /// <returns>返回SqlConnection对象</returns> public static SqlConnection getcon() { My_con = new SqlConnection(M_str_sqlcon); //用SqlConnection对象与指定的数据库相连接 My_con.Open(); //打开数据库连接 return My_con; //返回SqlConnection对象的信息 } #endregion #region 测试数据库是否附加 /// <summary> /// 测试数据库是否附加 /// </summary> public void con_open() { getcon(); //con_close(); } #endregion #region 关闭数据库连接 /// <summary> /// 关闭与数据库的连接. /// </summary> public void con_close() { if (My_con.State == ConnectionState.Open) //判断是否打开与数据库的连接 { My_con.Close(); //关闭数据库的连接 My_con.Dispose(); //释放My_con变量的所有空间 } } #endregion #region 读取指定表中的信息 /// <summary> /// 读取指定表中的信息. /// </summary> /// <param name="SQLstr">SQL语句</param> /// <returns>返回bool型</returns> public SqlDataReader getcom(string SQLstr) { getcon(); //打开与数据库的连接 SqlCommand My_com = My_con.CreateCommand(); //创建一个SqlCommand对象,用于执行SQL语句 My_com.CommandText = SQLstr; //获取指定的SQL语句 SqlDataReader My_read = My_com.ExecuteReader( ); //执行SQL语名句,生成一个SqlDataReader对象 return My_read; } #endregion SqlDataReader My_read = My_com.ExecuteReader();这条语句报错 求解决办法。
vs 无法打开登陆所请求的数据库
![图片说明](https://img-ask.csdn.net/upload/201705/19/1495167426_180272.png)![![图片说明](https://img-ask.csdn.net/upload/201705/19/1495166696_442526.png) 图片说明](https://img-ask.csdn.net/upload/201705/19/1495166689_506148.png) 本人学生 用vs做前台 打算做个图书管理的小程序 是数据库的期末作业 刚学了俩月比较菜 老师在没有教过做前台的情况下让我们自己做这个作业 时间也很紧张 测试程序一直显示无法登陆数据库 但是如图vs已经连接上这个数据库了 数据库就在本机 不知道什么原因 在网上零零散散试了很多方法 关防火墙 改用户权限 用sa登陆 都行不通 真的很着急 希望大神帮帮我 ![图片说明](https://img-ask.csdn.net/upload/201705/19/1495166731_761438.png) 可以打开master 点击登陆之后的代码: if (rad管理员.Checked == true) { string connString = "Data Source=.;Initial Catalog=图书管理系统;user id=sa;password=991661"; SqlConnection conn = new SqlConnection(connString); conn.Open(); //连接数据库 string strSQL = "select * from [admin] where 管理员名称='" + txtID.Text + "' and 密码='" + txt密码.Text + "'";//表示要对 SQL Server 数据库执行的一个SQL语句 SqlCommand cmd = new SqlCommand(strSQL, conn); SqlDataReader read = cmd.ExecuteReader(); read.Read(); if (read.HasRows) { 管理员界面 管理员界面 = new 管理员界面(); this.Hide(); 管理员界面.Text = "管理员界面"; 管理员界面.Show(); } else { MessageBox.Show("登录失败,请检查密码是否正确!"); } conn.Close(); } if (rad学生.Checked == true) { string connString = "Data Source=REANNY;Initial Catalog=图书管理系统;Integrated Security=True "; SqlConnection conn = new SqlConnection(connString); conn.Open(); //连接数据库 string strSQL = "select * from [user] where 用户名='" + txtID.Text + "' and 密码='" + txt密码.Text + "'";//表示要对 SQL Server 数据库执行的一个SQL语句 SqlCommand cmd = new SqlCommand(strSQL, conn); SqlDataReader read = cmd.ExecuteReader(); read.Read(); if (read.HasRows) { this.Hide(); 管理员界面 读者界面 = new 管理员界面(); 读者界面.Value = 1; 读者界面.Show(); 读者界面.Text = "读者界面"; } else { MessageBox.Show("登录失败,请检查密码是否正确!"); } conn.Close(); }
调用SQL部分字段组成命令并执行,求方法,求思路
目标是想在窗口登录的时候,调用数据库中的表,实现某些窗体不可见。 请看数据库表和语句,求大神指出我错误的地方和正确思路,谢谢。 ![图片说明](https://img-ask.csdn.net/upload/201509/07/1441592276_998502.jpg) mycn.ConnectionString = "Data Source=192.168.0.175;Initial Catalog=blle;uid=wks;pwd=123" mycomm.CommandText = "select puRID,puPriNM + '.visible',puTF,'False' from PrivilegeUser where puRID ='" & TextBox1.Text & "' and puTF='0'" mycomm.Connection = mycn Try mycn.Open() Dim mysqlreader As Data.SqlClient.SqlDataReader = mycomm.ExecuteReader While mysqlreader.Read() Dim a As String = mysqlreader.GetString(1) Dim b As String = mysqlreader.GetString(3) a = b '这里肯定是错的,但是不知道怎么表达,求救大神 End While Catch ex As Exception Finally mycn.Close() End Try '目标实现效果是程序执行如下语句: 'Privilege.visible = False 'ControlC.ProductToolStripMenuItem.visible = False 'ControlC.ColorToolStripMenuItem.Visible = False 'ControlC.SizeToolStripMenuItem.visible=False
C#连接数据库实现登陆,现在连接不上数据库,请各位大佬指点一下代码哪有问题
namespace _日记本 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "") MessageBox.Show("用户名不能为空!", "提示"); else if (textBox2.Text == "") MessageBox.Show("密码不能为空!", "提示"); try //try...catch...异常处理语句 { string name, pass; bool flag = false; name = textBox1.Text; pass = textBox2.Text; //获取用户名,密码 string str = Properties.Settings.Default.Database1ConnectionString;//连接字符串 SqlConnection Conn = new SqlConnection(str);//建立到数据库的连接 Conn.Open(); //将连接打开 //SQL语句:从数据库的登录表中搜索登录名,密码 string sqlstring = "select * from dbo.Table where Id ='" + name + "'and Password ='" + pass + "'"; //执行con对象的函数,返回一个SqlCommand类型的对象 SqlCommand command = new SqlCommand(sqlstring, Conn); //用cmd的函数执行语句,返回SqlDataReader对象thisReader,thisReader就是返回的结果集(也就是数据库中查询到的表数据) SqlDataReader thisReader = command.ExecuteReader(); //判断用户名及密码是否正确,对flag进行赋值 while (thisReader.Read()) { if ((thisReader.GetValue(0).ToString().Trim()) == (name.ToString().Trim())) { if (thisReader.GetValue(1).ToString().Trim() == pass.ToString().Trim()) { flag = true; } } } //用完后关闭连接,以免影响其他程序访问 Conn.Close(); if (flag) { MessageBox.Show("登陆成功!"); Form2 F = new Form2(); //显示主页面 F.Show(); this.Hide(); } else { MessageBox.Show("请检查你的用户名和密码!"); textBox1.Focus(); } } catch (Exception ex2) { MessageBox.Show("连接远程SQL数据库发生错误:" + ex2.ToString(), "错误!"); } } } }![图片说明](https://img-ask.csdn.net/upload/201705/19/1495162964_885089.jpg) 表里就一个Id一个Password报错是这样的,是不是我的sql语句有语法错误,查了半天查不出来,小弟还是新手,请各位大手子指点一下,不胜感激
求助!!对象名 'FavoriteFold' 无效。
做了一个BBS论坛系统,之前有一个FavoriteFold表,然后删掉了,在程序里面也完全删掉了。现在注册用户点击确认按钮的时候,sql插入语句提示有错误,但是真的没找到错在哪!!好崩溃!求助!!提示错误的那句是: string sql = "insert into loginuser(name,Password,RegeditTime,Email) values("; sql += "'" + tbName.Text + "','" + tbPwd.Text + "','" + BBSClass.getDatatime() + "'"; sql += " ,'" + tbEmail.Text + "' ) "; 对象名 'FavoriteFold' 无效。 说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Exception: 对象名 'FavoriteFold' 无效。 下面是注册的代码: public partial class reg1 : System.Web.UI.Page { public string reg = ""; protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["register"] != null) reg = Request.QueryString["register"].ToString(); } private void CreateUser()//插入生成注册名 { string sql = "insert into loginuser(name,Password,RegeditTime,Email) values("; sql += "'" + tbName.Text + "','" + tbPwd.Text + "','" + BBSClass.getDatatime() + "'"; sql += " ,'" + tbEmail.Text + "' ) "; DataHelpe.ExecuteSql(sql); Session["useid"] = loginUser.getloginUserId(this.tbName.Text); loginUser.changeOnlineState(Session["useid"].ToString(), (int)loginUser.onLineState.ONLINE); Alert.AlertAndRedirect("注册成功!", "index.aspx"); } private void chkname() { string sql = "select * from loginuser where name='" + tbName.Text.ToString() + "'"; SqlDataReader read = DataHelpe.ExecuteReader(sql); if (read.Read()) { Alert.AlertAndRedirect("用户名已存在!", "reg1.aspx"); } else { CreateUser(); } } protected void btnReg_Click(object sender, EventArgs e) { chkname(); } }
C#如何将combobox里面我选择的项和表内的一个数值比对,如果相符则进入对应的页面。
我们数据库课程设计做学生成绩管理系统。 我现在在做登录界面的代码,对应的表结构是user_name,user_pwd,status遇到了一个问题:就是只要我输入的用户名和密码正确,在combobox里面选择管理员就进入管理员页面,选择学生就进入了学生页面。表里面的status是标注这个账号是什么角色,想在代码里加上一个条件就是希望能将combobox里面我选择的项和表内的status比对,如果相符则进入对应的页面。 下面是我登录部分的代码: public bool CheckInput() { bool flag=false; if(string.IsNullOrEmpty(this.用户名.Text.Trim())) { MessageBox.Show("用户名不能为空,登录失败","提示",MessageBoxButtons.OK,MessageBoxIcon.Error); } else if(string.IsNullOrEmpty(this.密码.Text.Trim())) { MessageBox.Show("密码不能为空,登录失败","提示",MessageBoxButtons.OK,MessageBoxIcon.Error); } else { flag=true; } return flag; } /// <summary> /// 登录按钮点击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 登录_Click(object sender, EventArgs e) { if (CheckInput()) { //无密码建立连接SQL数据库对象 string connStr = "Data Source=PC-20140923RVHL\\SQL2005;Initial Catalog=Stu_mark_MS;Integrated Security=True"; //创建数据库连接对象 SqlConnection conn = new SqlConnection(connStr); try { //打开数据库连接 conn.Open(); //创建SQL语句 string sql = "select user_name,user_pwd,status from user_info where user_name='" + 用户名.Text + "'and user_pwd='" + 密码.Text + "'"; //创建命令对象 SqlCommand comm = new SqlCommand(sql, conn);//执行SQL命令 comm.CommandText = sql; comm.Connection = conn; SqlDataReader ada = comm.ExecuteReader(); if (ada.Read()) { if (this.身份.SelectedItem.ToString() == "管理员"&& status=="管理员") { //创建管理员信息窗体实例 admin admin = new admin(); //打开管理员信息窗体 admin.Show(); } if (this.身份.SelectedItem.ToString() == "学生") { //创建学生信息窗体实例 student student = new student(); //打开学生信息窗体 student.Show(); } } else { MessageBox.Show("用户名密码有误,请重新输入"); } } catch (Exception ex) { MessageBox.Show("出现异常:" + ex.Message); } finally { conn.Close(); } }
vs2010C#Web开发3个Dropdown控件从sql数据库中的4个表显示数据
实现效果:第一个下拉控件是选择学院,第二个下拉控件是选择系部,第三个下拉控件是选择班级。 从网上找了个后台代码: 前台: ``` <%@ Page Language="C#" AutoEventWireup="true" CodeFile="StudInfo.aspx.cs" Inherits="Modules_StudInfo" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div align="center"> 请选择学院:<asp:DropDownList ID="drdlXY" runat="server"> </asp:DropDownList><br /> 请选择系部:<asp:DropDownList ID="drdlXB" runat="server"> </asp:DropDownList><br /> 请选择班级:<asp:DropDownList ID="drdlCL" runat="server"> </asp:DropDownList><br /> <asp:Repeater ID="Repeater1" runat="server"> </asp:Repeater> </div> </form> </body> </html> ``` 后台代码: ``` using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using System.Configuration; public partial class Modules_StudInfo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string ConnString = ConfigurationSettings.AppSettings["SqlConnString"]; SqlConnection Conn = new SqlConnection(ConnString); try { Conn.Open(); this.drdlXY.Items.Add("请选择!"); this.drdlXB.Items.Add("请选择!"); this.drdlCL.Items.Add("请选择!"); string strSQL = "select XueYuanName from XueYuan select XiBuName from XiBu select ClassName from Class"; SqlCommand com = new SqlCommand(strSQL, Conn); SqlDataReader dr = com.ExecuteReader(); if(dr.Read()) { this.drdlXY.Items.Add(dr["XueYuanName"].ToString()); this.drdlXB.Items.Add(dr["XiBuName"].ToString()); this.drdlCL.Items.Add(dr["ClassName"].ToString()); } } //catch (Exception ex) //{ // Response.Write("<scirpt>alert('" + ex.Message.ToString() + "')</script>"); //} finally { Conn.Close(); } } } } ``` 但是这个出不来,如果把while中的后两个删掉,sql语句中只输入select XuYuanName from XuYuan 就不会提示错误,但是只有第一个下拉控件能实现功能。 显示错误
VS中关于注册功能的实现有点小问题
求问各位,看看我的注册代码哪里出问题了,用户名和密码都可以判断成功,就是写不进数据库里,要怎么修改 protected void btnRegister_Click(object sender, EventArgs e) { //判断是否已存在用户 string strUser = tbusername.Text.Trim(); string strPsw = tbpsw.Text.Trim(); string strSql = string.Format("select * from tbUser where name='{0}'", strUser); string connStr = ConfigurationManager.ConnectionStrings["dbconn"].ConnectionString; SqlConnection sqlConn = new SqlConnection(); sqlConn.ConnectionString = connStr; sqlConn.Open(); SqlCommand cmd = new SqlCommand(strSql, sqlConn); cmd.CommandType = CommandType.Text; SqlDataReader sdr =cmd .ExecuteReader(); sdr.Read (); DataTable dtUser = new DataTable();//执行SQL语句,并返回执行结果,转载到DataTable中 if (sdr.HasRows) { Response.Write(@"<script>alert('用户已存在,请重新输入');</script>"); } else { //判断用户两次输入的密码是否一致 if (this.tbpsw.Text == this.tbpsw1.Text && this.tbpsw.Text != null) { sdr.Close(); string sql = string.Format("insert into tbUser(name,password)values ('" + tbusername.Text + "','" + tbpsw.Text + "')"); SqlCommand mycom = new SqlCommand(strSql, sqlConn); mycom .ExecuteNonQuery(); sqlConn.Close(); sqlConn.Dispose(); Session["user"] = strUser; Response .Write(@"<script>alert('注册成功!');</script>"); Response.Redirect("~/loading.aspx"); } else { Response.Write(@"<script>alert('请确认两次输入密码一致!');</script>"); tbusername.Text = tbpsw.Text = string.Empty; } } }
C#数据库连接问题,路过的懂的话帮忙看看
String constr = @"Data Source=***********;Initial Catalog=" + kuming + ";User ID=sa;Password=***************;MultipleActiveResultSets=true"; SqlConnection con = new SqlConnection(constr); con.Open(); string sql = "select * from DH_HH where name='" + username + "' and mima='" + password + "'"; SqlCommand com = new SqlCommand(sql, con); SqlDataReader reader = com.ExecuteReader(); if (reader.Read()) { string SQL = @"update DH_HH set mima='" + passnew + "' where name='" + username + "'"; SqlCommand coms = new SqlCommand(SQL,con); if (coms.ExecuteNonQuery() == 1) xiugai = "true"; } reader.Close();//关闭执行 con.Close();//关闭数据库连接// false'System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed. at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader() at WebService1.Service1.yanzheng(String json) in c:\Users\Administrator\Desktop\android\C#webservice\WebServiceHYWT\WebService1\Service1.asmx.cs:line 168' 第一个if语句为168行
C#窗体实现在线答题系统时代码无bug能运行,但不显示题目信息,求问怎么回事?
数据库那边没有问题,连接语句在别的窗体也能用,怀疑是questionIndex的问题,求大神帮忙看下怎么改 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Data.SqlClient; using System.Windows.Forms; using System.Collections; namespace graduationproject { public partial class PsychologicalTest : Form { public int questionIndex = 1; public PsychologicalTest() { InitializeComponent(); } private void PsychologicalTest_Load(object sender, EventArgs e) { timer1.Start(); // 启动计时器 GetQuestionDetails(); // 显示题目信息 CheckOption();    // 如果题目已经答过,让相应的选项选中 CheckBtnNext();   // 确定是否到了最后一题 } private void CheckBtnNext() { // 如果达到20题,就让“下一题”按钮的文字显示为“提交” if (questionIndex >= QuizHelper.selectedQuestionIds.Length) { button2.Text = "提交"; } } private void button2_Click(object sender, EventArgs e) { // 如果没有到最后一题,就继续显示新题目信息 if (questionIndex < QuizHelper.selectedQuestionIds.Length) { questionIndex++; GetQuestionDetails(); // 显示试题信息 CheckOption(); // 如果题目已经答过,让相应的选项选中 CheckBtnNext();   // 确定是否到了最后一题 } else // 否则,打开答题卡窗体 { OpenResultCard(); } } private void OpenResultCard() { PsychologicalTestResult psychologicalTestResult = new PsychologicalTestResult(); psychologicalTestResult.MdiParent = this.MdiParent; psychologicalTestResult.Show(); this.Close(); } private void timer1_Tick(object sender, EventArgs e) { int minute; // 当前的分钟 int second; // 秒 // 如果还有剩余时间,就显示剩余的分钟和秒数 if (QuizHelper.remainSeconds > 0) { QuizHelper.remainSeconds--; minute = QuizHelper.remainSeconds / 60; second = QuizHelper.remainSeconds % 60; label4.Text = string.Format("{0:00}:{1:00}", minute, second); } // 否则,就提示交卷 else { timer1.Stop(); MessageBox.Show("时间到了!", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); this.Close(); } } private void radioButton_Click(object sender, EventArgs e) { QuizHelper.studentAnswers[questionIndex] = Convert.ToString(((RadioButton)sender).Tag); } public void GetQuestionDetails() { // 显示当前的题目信息 label1.Text = string.Format("第{0}题:", questionIndex); // 查询题目信息的sql语句 string sql = "SELECT Question FROM PsyQuestion WHERE QNumber=questionIndex "; SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=graduationproject;Integrated Security=true"); try { conn.Open(); SqlCommand command = new SqlCommand(sql, conn); SqlDataReader reader = command.ExecuteReader(); if (reader.Read()) { label3.Text = reader["Question"].ToString(); } reader.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { DBHelper.connection.Close(); } } private void CheckOption() { switch (QuizHelper.studentAnswers[questionIndex]) { case "A": radioButton1.Checked = true; break; case "B": radioButton2.Checked = true; break; case "C": radioButton3.Checked = true; break; default: radioButton1.Checked = false; radioButton2.Checked = false; radioButton3.Checked = false; break; } } } }
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
win10系统安装教程(U盘PE+UEFI安装)
一、准备工作 u盘,电脑一台,win10原版镜像(msdn官网) 二、下载wepe工具箱  极力推荐微pe(微pe官方下载) 下载64位的win10 pe,使用工具箱制作启动U盘打开软件,   选择安装到U盘(按照操作无需更改) 三、重启进入pe系统   1、关机后,将U盘插入电脑 2、按下电源后,按住F12进入启动项选择(技嘉主板是F12)     选择需要启
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
Nginx 软件层面加强Nginx性能优化的面试问答和解决方案
Nginx 软件层面加强Nginx性能优化的面试问答和解决方案 去年我去爱卡汽车面试PHP,一轮和二轮面的都不错,在三轮面到Nginx的时候很多问题当时不知道怎么回答,确实没有深入学习过,花了一段时间的学习,终于能解答Nginx高性能优化的问题了,10月24号为了获得程序员勋章,发布了半个优化笔记,浏览到了1000+,受到这个鼓舞,我抽时间在仔细整理下关于Nginx性能优化的问题,我们从软件说起。...
【管理系统课程设计】美少女手把手教你后台管理
【文章后台管理系统】URL设计与建模分析+项目源码+运行界面 栏目管理、文章列表、用户管理、角色管理、权限管理模块(文章最后附有源码) 1. 这是一个什么系统? 1.1 学习后台管理系统的原因 随着时代的变迁,现如今各大云服务平台横空出世,市面上有许多如学生信息系统、图书阅读系统、停车场管理系统等的管理系统,而本人家里就有人在用烟草销售系统,直接在网上完成挑选、购买与提交收货点,方便又快捷。 试想,若没有烟草销售系统,本人家人想要购买烟草,还要独自前往药...
11月19日科技资讯|华为明日发布鸿蒙整体战略;京东宣告全面向技术转型;Kotlin 1.3.60 发布
「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。扫描上方二维码进入 CSDN App 可以收听御姐萌妹 Style 的人工版音频哟。 一分钟速览新闻点! 6G 专家组成员:速率是 5G 的 10 至 100 倍,预计 2030 年商用 雷军:很多人多次劝我放弃WPS,能坚持下来并不是纯粹的商业决定 ...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n
化繁为简 - 腾讯计费高一致TDXA的实践之路
导语:腾讯计费是孵化于支撑腾讯内部业务千亿级营收的互联网计费平台,在如此庞大的业务体量下,腾讯计费要支撑业务的快速增长,同时还要保证每笔交易不错账。采用最终一致性或离线补...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
Java学习笔记(七十二)—— Cookie
概述 会话技术: 会话:一次会话中包含多次请求和响应 一次会话:浏览器第一次给服务器发送资源请求,会话建立,直到有一方断开为止 功能:在一次会话的范围内的多次请求间,共享数据 方式: 客户端会话技术:Cookie,把数据存储到客户端 服务器端会话技术:Session,把数据存储到服务器端 Cookie 概念:客户端会话技术,将数据存储到客户端 快速入门: 使用步骤: 创建C
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯
程序员该看的几部电影
##1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
@程序员,如何花式构建线程?
作者 |曾建责编 | 郭芮出品 | CSDN(ID:CSDNnews)在项目和业务的开发中,我们难免要经常使用线程来进行业务处理,使用线程可以保证我们的业务在相互处理之间可以保证原子性...
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布了 2019年国民经济报告 ,报告中指出:年末中国大陆总人口(包括31个
强烈推荐10本程序员在家读的书
很遗憾,这个鼠年春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终
Linux自学篇——linux命令英文全称及解释
man: Manual 意思是手册,可以用这个命令查询其他命令的用法。 pwd:Print working directory 显示当前目录 su:Swith user 切换用户,切换到root用户 cd:Change directory 切换目录 ls:List files 列出目录下的文件 ps:Process Status 进程状态 mk
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
文章目录1. 前言2. 数据下载3. 数据处理4. 数据可视化 1. 前言 今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。 2月6日追记:本文发布后,腾讯的数据源多次变更u
智力题(程序员面试经典)
NO.1  有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。 解法 有时候,严格的限制条件有可能反倒是解题的线索。在这个问题中,限制条件是天平只能用一次。 因为天平只能用一次,我们也得以知道一个有趣的事实:一次必须同时称很多药丸,其实更准确地说,是必须从19瓶拿出药丸进行称重。否则,如果跳过两瓶或更多瓶药
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
Java坑人面试题系列: 包装类(中级难度)
Java Magazine上面有一个专门坑人的面试题系列: https://blogs.oracle.com/javamagazine/quiz-2。 这些问题的设计宗旨,主要是测试面试者对Java语言的了解程度,而不是为了用弯弯绕绕的手段把面试者搞蒙。 如果你看过往期的问题,就会发现每一个都不简单。 这些试题模拟了认证考试中的一些难题。 而 “中级(intermediate)” 和 “高级(ad
Spring Boot 2.x基础教程:使用JdbcTemplate访问MySQL数据库
在第2章节中,我们介绍了如何通过Spring Boot来实现HTTP接口,以及围绕HTTP接口相关的单元测试、文档生成等实用技能。但是,这些内容还不足以帮助我们构建一个动态应用的服务端程序。不论我们是要做App、小程序、还是传统的Web站点,对于用户的信息、相关业务的内容,通常都需要对其进行存储,而不是像第2章节中那样,把用户信息存储在内存中(重启就丢了!)。 对于信息的存储,现在已经有非常非常多...
基于Python的人脸自动戴口罩系统
目录 1、项目背景 2、页面设计 3、器官识别 4、退出系统 1、项目背景 2019年新型冠状病毒感染的肺炎疫情发生以来,牵动人心,举国哀痛,口罩、酒精、消毒液奇货可居。 抢不到口罩,怎么办?作为技术人今天分享如何使用Python实现自动戴口罩系统,来安慰自己,系统效果如下所示: 本系统的实现原理是借助 Dlib模块的Landmark人脸68个关键点检测库轻松识别出人脸五官
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
节后首个工作日,企业们集体开晨会让钉钉挂了
By 超神经场景描述:昨天 2 月 3 日,是大部分城市号召远程工作的第一天,全国有接近 2 亿人在家开始远程办公,钉钉上也有超过 1000 万家企业活跃起来。关键词:十一出行 人脸...
Java基础知识点梳理
Java基础知识点梳理 摘要: 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了学好java打下基础。 Java简介 java语言于1995年正式推出,最开始被命名为Oak语言,由James Gosling(詹姆
jQuery实现高仿QQ音乐
几个实现的效果看视频吧: bandicam 2020-02-05 16-28-20-127 动图很是不清楚 github地址奉上:https://github.com/tangmusenLiu/Large-warehouse https://github.com/tangmu
为什么听过很多道理,依然过不好这一生?
记录学习笔记是一个重要的习惯,不希望学习过的东西成为过眼云烟。做总结的同时也是一次复盘思考的过程。 本文是根据阅读得到 App上《万维钢·精英日课》部分文章后所做的一点笔记和思考。学习是一个系统的过程,思维模型的建立需要相对完整的学习和思考过程。以下观点是在碎片化阅读后总结的一点心得总结。
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学
相关热词 c# 为空 判断 委托 c#记事本颜色 c# 系统默认声音 js中调用c#方法参数 c#引入dll文件报错 c#根据名称实例化 c#从邮件服务器获取邮件 c# 保存文件夹 c#代码打包引用 c# 压缩效率
立即提问