C#高手进来看看

问题描述

我想用C#写一个登录,点登录出现Form2代码都写好了。就是按F5运行的时候输入帐号密码就卡住了。好像是连接到数据库出问题是不是要在数据库里建一个表?大概怎么建你们知道吗教教我吧很重要,还有连接的代码是什么。,谢谢了

解决方案

解决方案二:
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceWindowsFormsApplication2{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){Form2form2=newForm2();stringcstring="DataSource=PC-201109192112;InitialCatalog=student;IntegratedSecurity=True";using(SqlConnectioncon=newSqlConnection(cstring)){if(textBox1.Text==""){MessageBox.Show("请输入用户名");return;}if(textBox2.Text==""){MessageBox.Show("请输入用户密码");return;}con.Open();using(SqlCommandcom=newSqlCommand("selectcount(*)frommimawherezh="+textBox1.Text+"andmm="+textBox2.Text+"",con)){//com.CommandType=CommandType.StoredProcedure//intmi=(int)com.ExecuteScalar();if((int)com.ExecuteScalar()==1){form2.ShowDialog();//this.Hide();}else{MessageBox.Show("用户名或密码无效,请重新输入");textBox1.Text=null;textBox2.Text=null;}}}}看看呀哪里错了
解决方案三:
DataSource=PC-201109192112;InitialCatalog=student;IntegratedSecurity=TruenewSqlCommand("selectcount(*)frommimawherezh=‘"+textBox1.Text+"’andmm=‘"+textBox2.Text+"’",con)连接服务器是本机,计算机名是PC-201109192112,连接数据库是student,要在这个数据库中建一张mima表,至少包括zh,mm两个字段。SQL语句中少写了单引号,因为数据库中是字符型的,要用引号引起来(SQL语句中用单引号)。
解决方案四:
引用2楼mizuho_2006的回复:

DataSource=PC-201109192112;InitialCatalog=student;IntegratedSecurity=TruenewSqlCommand("selectcount(*)frommimawherezh=‘"+textBox1.Text+"’andmm=‘"+textBox2.Text+"’",con)连接服务器是……

这一段家在哪?
解决方案五:
是你原来代码里的。。其他的逻辑判断我没细看,就看了看连接字符串和SQL语句。
解决方案六:
通常新建一个config配置文件用来保存数据库连接字符串<?xmlversion="1.0"encoding="utf-8"?><configuration><connectionStrings><addname="DB"connectionString="server=.;database=ATMDB;uid=sa;pwd=123456"/></connectionStrings></configuration>然后再建一个专门用来连接数据库的类DBHelperusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Configuration;usingSystem.Data;namespaceDals{publicclassDBHelper{publicstringconnstr=ConfigurationManager.ConnectionStrings["db1"].ConnectionString;privateSqlConnection_conn;publicSqlConnectionConn{get{if(_conn==null)_conn=newSqlConnection(connstr);return_conn;}}///<summary>///封装增删改操作代码///</summary>///<paramname="sql">要执行的SQL语句或者存储过程名称</param>///<paramname="type">命令类型</param>///<paramname="paras">参数数组</param>///<returns></returns>publicboolExecuteNonQuery(stringsql,CommandTypetype,paramsSqlParameter[]paras){intresult=0;try{SqlCommandcmd=newSqlCommand(sql,Conn);cmd.CommandType=type;//判断是否存在参数if(paras!=null&&paras.Length>0)cmd.Parameters.AddRange(paras);Conn.Open();result=cmd.ExecuteNonQuery();}catch{}finally{Conn.Close();}returnresult>0?true:false;}///<summary>///返回单行单列///</summary>///<paramname="sql">要执行的SQL语句或者存储过程名称</param>///<paramname="type">命令类型</param>///<paramname="paras">参数数组</param>///<returns></returns>publicobjectExecuteScale(stringsql,CommandTypetype,paramsSqlParameter[]paras){objectresult=null;try{SqlCommandcmd=newSqlCommand(sql,Conn);cmd.CommandType=type;//判断是否存在参数if(paras!=null&&paras.Length>0)cmd.Parameters.AddRange(paras);Conn.Open();result=cmd.ExecuteScalar();}catch{}finally{Conn.Close();}returnresult;}///<summary>///返回DataReader,需要注意,获取完数据后,必须关闭DataReader对象///</summary>///<paramname="sql">要执行的SQL语句或者存储过程名称</param>///<paramname="type">命令类型</param>///<paramname="paras">参数数组</param>///<returns></returns>publicSqlDataReaderExecuteDataReader(stringsql,CommandTypetype,paramsSqlParameter[]paras){SqlDataReaderread=null;try{SqlCommandcmd=newSqlCommand(sql,Conn);cmd.CommandType=type;//判断是否存在参数if(paras!=null&&paras.Length>0)cmd.Parameters.AddRange(paras);Conn.Open();//CommandBehavior.CloseConnection:关闭DataReader对象时,自动关闭相应的连接池对象read=cmd.ExecuteReader(CommandBehavior.CloseConnection);}catch{}returnread;}///<summary>///返回DataSet///</summary>///<paramname="sql">要执行的SQL语句或者存储过程名称</param>///<paramname="type">命令类型</param>///<paramname="paras">参数数组</param>///<returns></returns>publicDataSetExecuteDataSet(stringsql,CommandTypetype,paramsSqlParameter[]paras){DataSetds=newDataSet();try{SqlCommandcmd=newSqlCommand(sql,Conn);cmd.CommandType=type;//判断是否存在参数if(paras!=null&&paras.Length>0)cmd.Parameters.AddRange(paras);SqlDataAdapterda=newSqlDataAdapter(cmd);da.Fill(ds);}catch{}returnds;}///<summary>///封装带事务的增删改操作代码///</summary>///<returns></returns>publicboolExecuteNonQuery(stringsql,SqlConnectiontranconn,SqlTransactiontran,CommandTypetype,paramsSqlParameter[]paras){intresult=0;try{SqlCommandcmd=newSqlCommand(sql,tranconn);cmd.Transaction=tran;cmd.CommandType=type;//判断是否存在参数if(paras!=null&&paras.Length>0)cmd.Parameters.AddRange(paras);result=cmd.ExecuteNonQuery();}catch{}returnresult>0?true:false;}}}然后在登录的时候调用ExecuteNonQuery方法Stringsql="selectcount(*)frommimawherezh=‘"+textBox1.Text+"’andmm=‘"+textBox2.Text+"’";if(ExecuteNonQuery(sql,CommandType.Text)){MessageBox.Show("登录成功!");}else{MessageBox.Show("登录失败");}//这是我通常的用法,一般都是用三层架构的,不过在这里简化了
解决方案七:
该回复于2011-12-15 09:08:50被版主删除
解决方案八:
该回复于2011-12-15 09:11:35被版主删除
解决方案九:
附上我做的程序的OK按键事件代码:按OK键后取name和password,然后建立连接,再设SQL语句,查询取值,有结果则打开下一窗口privatevoidbtOK_Click(objectsender,EventArgse){//GetUsernameandPasswordfromtextboxinputstringclientName=txUserName.Text.Trim();clientPassword=txPWD.Text.Trim();//StartSQLConnectiontry{//SQLconnectionparameterstringstrConn="server=228.66.48.222,1433;userid="+strUserName+";PWD="+strPWD+";Database=Files";SqlConnectionsc=newSqlConnection();//createSQLconnectionobjectsc.ConnectionString=strConn;sc.Open();//Openconnection//TostoreSQLSelectcommandstringtempCommand="select*fromCUToolwhereUserName='"+clientName+"'andPassword='"+clientPassword+"'";SqlCommandsd=newSqlCommand(tempCommand,sc);SqlDataReadersdr=sd.ExecuteReader();if(sdr.Read()){frm.Close();//opensecondform"MainTool"MainToolmainfrm=newMainTool();mainfrm.StartPosition=FormStartPosition.CenterScreen;mainfrm.ShowDialog();//this.Hide();sc.Close();}else{sc.Close();MessageBox.Show("Invalidusername/passwordcombination.");}}catch(Exceptionex){MessageBox.Show(ex.Message.ToString());return;}}

解决方案十:
学习了!5楼代码太长。
解决方案十一:
链接数据库,根据输入的用户名秘密到库中检验
解决方案十二:
该回复于2011-12-15 09:12:43被版主删除

时间: 2024-09-29 06:28:42

C#高手进来看看的相关文章

oracle-FULL JOIN 搞死我了 ……高手进来

问题描述 FULL JOIN 搞死我了 --高手进来 SELECT * FROM (SELECT AFTERMARKET, SUM(LFIMG) AS LFIMG, NAME1 FROM (SELECT R.AFTERMARKET, ABS(LFIMG) AS LFIMG, NAME1 FROM ROS_SALES_DATA@ROS_LINK_TO_AIGUSER T, RAP_COMPANY_CRMTOROS@ROS_LINK_TO_AIGUSER R WHERE T.KUNNR = R.SE

二进制-字节数据转换的高手进来,这个有组数据需要转换求高人

问题描述 字节数据转换的高手进来,这个有组数据需要转换求高人 我有7组数据 34 35 39 36 44 41 35 32 34 35 39 36 44 41 35 32 34 37 32 46 38 45 42 36 34 33 45 35 43 41 33 44 30 30 30 30 30 30 30 30 34 30 44 39 39 39 39 41 30 30 30 30 30 30 30 30 这7组数据是是7个符点型数据,下面是数据的说明,求高人解答,到底是怎么转换,C#该怎么写

isis协议-ISIS问题详细描述,请路由协议高手进来看看帮忙解决下,谢谢了

问题描述 ISIS问题详细描述,请路由协议高手进来看看帮忙解决下,谢谢了 第一张图,是网络拓扑图和抓包口,都在图里,请大家看看,指定路由器和路由器间如何连接,配置的IP我都写在里面的第二张图,分别是进四台路由器,show clns neighbors,show clns is-neighbors,show isis data 所输出的结果. 第三至五张图 ,分别是R1的f0/0,R2的f1/0,R3的f1/0口的抓包. 接下来我想提点问题,首先,所有路由器都设置为L1,然后R2我设置为指定路由器

java-请Android高手进来.小白求救。思考了久的问题了

问题描述 请Android高手进来.小白求救.思考了久的问题了 import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; public class MainActivity extends Ac

请高手进来指导下

问题描述 请问在VS中,如果做WEB项目是不是不能用VC(托管的也可以)作为后台语言,我的VS中选择语言框中只有VB和C#.如果能请问如何做??困扰了我好多天的一个问题,请知道一定给我说下,谢谢了. 解决方案 解决方案二:引用楼主sbdxh的回复: 请问在VS中,如果做WEB项目是不是不能用VC(托管的也可以)作为后台语言,我的VS中选择语言框中只有VB和C#.如果能请问如何做??困扰了我好多天的一个问题,请知道一定给我说下,谢谢了. 做web选c#或VB吧解决方案三:C#我是会的,只是想知道为

简单的jsp问题高手进来帮我下

问题描述 packagech11;importjava.io.*;importjavax.servlet.jsp.PageContext;importjavax.servlet.http.*;publicclassfile{publicfile(){}publicStringGetPath(Stringst){javax.servlet.jsp.PageContextpageContext=newPageContext();HttpServletRequestrequest=(HttpServl

高手进来下吧,比较急

问题描述 想做一个文件上传的功能,但是不管怎么整都没整成.我的方法是当表单提交后,在第二个页面通过request把文件数据取出来,并保存至我想要保存的位置,还有要取上传文件的名称.大小.谁有源码能否给一份,谢谢了.或教下怎么个弄法呀 解决方案 解决方案二:表单提交到servlet,servlet里就把文件保存了,第二个页面是什么.莫非你是在第二个页面的<%%>里保存文件,这样也不是不可以解决方案三:可以考虑用其他作用于保存信息解决方案四:和第2个页面为什么扯上关系解决方案五:这种问题高手们束手

Websphere群集服务器启动自停止并再无法启动!高手进来帮帮忙

问题描述 websphere中建立集群,关联服务器,节点已全部启动且状态为已连接.群集也启动,过会后其中一台应用服务器状态自动变为停止,再单独启动该服务器时报错.错误代码如下:*************EndDisplayCurrentEnvironment*************[09-9-418:03:30:474CST]4673976eManagerAdminITRAS0017I:启动跟踪状态是*=all=disabled.[09-9-418:03:31:126CST]4673976eA

请Asp.net高手进来,解决了马上给分???????????

问题描述 有三十几个WEB客户端,有时候出现WEB客户端打开网页的时候空白,下面的进度条也在动,但就是打不开网页,而且是所有客户端同时出现..每天都有5.6次这个样子,一般5分钟内能自动恢复,数据库服务器,和Web服务器的CPU和内存占用都很低.不知道怎么回事,是不是IIS设置的问题?????请高手出面,马上解决,马上给分.... 解决方案 解决方案二:标记一下解决方案三:连接池是否配置合理~解决方案四:看样子似乎是他们的局域网有问题,呵呵,有人在下载东西解决方案五:连接池我按的是默认的..请高

会CodeSmith的高手进来帮下忙!!!!!!!!!!!!!!

问题描述 我用CodeSmith..SQL搜出的结果是对象的..我想把搜出的结果转成DataTable..因为Grid++Report要用DataTable,有高手会转吗?CodeSmith好像没提供这样的方法吧?