首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求教大侠们 疏失了

2013-03-29 
求教大侠们 出错了本帖最后由 jyfyzhi 于 2013-03-26 17:38:28 编辑小白学到了ado.net验证用户名和密码登

求教大侠们 出错了
本帖最后由 jyfyzhi 于 2013-03-26 17:38:28 编辑 小白学到了ado.net   验证用户名和密码登陆数据库  敲了这段代码  可是出错了 但自己不知道出在哪里 怎么改
 谢谢老大们

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace ConsoleApplicati
{
? ? class DBOption
? ? {
? ? ? ? private string sqlstring = "server=.;database=student;uid=sa;pwd=333333";




? ? ? ? public string Sqlstring//封装连接字符串
? ? ? ? {
? ? ? ? ? ? get { return sqlstring; }
? ? ? ? }
? ? ? ? private SqlConnection connection;




? ? ? ? public SqlConnection Connection//封装连接对象
? ? ? ? {
? ? ? ? ? ? get
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (connection == null)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? connection = new SqlConnection(Sqlstring);
? ? ? ? ? ? ? ? ? ? //创建连接对象
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? return connection;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? public void OpenConnection()
? ? ? ? {//打开连接
? ? ? ? ? ? if (Connection.State == ConnectionState.Closed)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Connection.Open();
? ? ? ? ? ? }
? ? ? ? ? ? else if (Connection.State == ConnectionState.Broken)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Connection.Close();
? ? ? ? ? ? ? ? Connection.Open();
? ? ? ? ? ? }




? ? ? ? }
? ? ? ? public void CloseConnection()
? ? ? ? { //关闭连接
? ? ? ? ? ? if (Connection.State == ConnectionState.Open || Connection.State == ConnectionState.Broken)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Connection.Close();
? ? ? ? ? ? }
? ? ? ? }




? ? }
? ? class Program
? ? {
? ? ? ? public bool LoginAction(string id, string pwdd)
? ? ? ? {//登录方法
? ? ? ? ? ? DBOption dbp = new DBOption();
? ? ? ? ? ? dbp.OpenConnection();
? ? ? ? ? ? SqlCommand sqlcom = new SqlCommand();
? ? ? ? ? ? sqlcom.Connection = dbp.Connection;
? ? ? ? ? ? sqlcom.CommandText = string.Format("select count(*) from stf where ui={0} and pwd={1}", id, pwdd);


? ? ? ? ? ? object o = sqlcom.ExecuteScalar();
? ? ? ? ? ? if (Convert.ToInt32(o) == 1)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return true;
? ? ? ? ? ? }
? ? ? ? ? ? else {
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? return false;
? ? ? ? ? ? }
? ? ? ??
? ? ? ? ?}




? ? ? ? static void Main()
? ? ? ? {
? ? ? ? ? ? Console.Write("请输入用户Id:");
? ? ? ? ? ? string id = Console.ReadLine();




? ? ? ? ? ? Console.Write("请输入用户密码:");
? ? ? ? ? ? string pwdd = Console.ReadLine();
? ? ? ? ? ? Program p = new Program();
? ? ? ? ? ? bool b = p.LoginAction(id, pwdd);
? ? ? ? ? ? if (b)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Console.WriteLine("恭喜您登录成功");
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Console.WriteLine("恭喜您登录失败");
? ? ? ? ? ? }




? ? ? ? }
? ? }
}

异常 
求教大侠们 疏失了






这是数据库中的表

求教大侠们 疏失了
[解决办法]
sqlcom.CommandText = string.Format("select count(*) from stf where ui='{0}' and pwd='{1}'", id, pwdd);
[解决办法]

引用:
sqlcom.CommandText = string.Format("select count(*) from stf where ui='{0}' and pwd='{1}'", id, pwdd);

+1
因为你的数据类型不是数字类型,所以占位符要加上单引号

热点排行