C#控制台做ATM,SQLserver表已经创建好了,在vs2010代码里面写SQL语句时,该怎么写?我思路现在蛮混乱

问题描述

//第一步:指定连接的数据库SqlConnectionconn=newSqlConnection("server=HHY-PC\HHY;uid=sa;pwd=123456;database=YangATM_DB");//第二步:需要执行的SQL语句stringsql="select*fromKaiHuInFowhereKaHao='"+txtkahao.Text+"'andKaMiMa='"+txtmima.Text+"'";上面的是在winform窗体做的ATM,关键是第2步的这个“txtkahao”是窗体里面的控件TextBox文本框改名后的,来放用户名的。但是在控制台里面没有控件,该怎么定义这个txtkakaon呢?其他没有什么太大问题,关键是这个,求大神告诉我非常感谢!

解决方案

解决方案二:
控制台不是有Console.ReadLine()吗一步一步的,先用Console.WriteLine()提示用户现在要输入什么了,然后用户输入完读出来放变量里
解决方案三:
你能不能帮我做一个示范呢,这是窗体里面的ATM,我不想修改什么帮我看看怎么改下谢谢你//定义一个静态公关全局变量publicstaticintMyKahao;privatevoidbutton1_Click(objectsender,EventArgse){//第一步:指定连接的数据库SqlConnectionconn=newSqlConnection("server=HHY-PC\HHY;uid=sa;pwd=123456;database=YangATM_DB");//第二步:需要执行的SQL语句stringsql="select*fromKaiHuInFowhereKaHao='"+txtkahao.Text+"'andKaMiMa='"+txtmima.Text+"'";//第三步:申明一个数据适配器用于解析SQL语句的,且开始解析SQL语句SqlDataAdapterda=newSqlDataAdapter(sql,conn);//第四步:申明一个数据集DataSetds=newDataSet();//Console.WriteLine("请输入卡号");//第五步:将查询的结果存放到数据集中da.Fill(ds);if(ds.Tables[0].Rows.Count>0){MessageBox.Show("登录成功");//获取文本框内的值并赋值MyKahao=Convert.ToInt32(txtkahao.Text);QuKuanJianMianqk=newQuKuanJianMian();qk.Show();this.Hide();}else{MessageBox.Show("输入的账号或密码不正确");txtkahao.Text="";txtmima.Text="";}
解决方案四:
"不想修改什么"的前提是你已经封装好了方法,可以在winform和console里都能直接调用而你现在本身就是把代码直接放到按钮事件里去,而控制台里根本没有所谓按钮事件,那么不改势必是不可能的
解决方案五:
你至少要先把函数封装成这种格式:voidfunction(stringtext1,stringtext2){}然后针对不同的项目,两个字符串从哪里来不一样而已,最终都是传入字符串之后调用函数否则你整个代码已经跟控件耦合在一起,不改不行的
解决方案六:
你们有没有完成的控制台ATM已经连接好的数据库,最好是vs2010打开的谁有请发我一份我有较多积分供你们下载其他资料
解决方案七:
classprogram{staticvoidMain(string[]args){stringuserInput="";Console.WriteLine("PleaseinputyourAccount:");userInput=Console.ReadLine();intiAccount=-1;if(!int.TryParse(userInput,outiAccount)){Console.WriteLine("AccountisnotCorrect.");return;}Console.WriteLine("PleaseinputyourPassword:");userInput=Console.ReadLine();if(userInput.Trim().length==0){Console.WriteLine("Passworderror.");return;}stringpassword=userInput;DummyTextBoxtxtkahao=newDummyTextBox(iAccount+"");DummyTextBoxtxtmima=newDummyTextBox(password);//copyyoucodehere.}}classDummyTextBox{publicDummyTextBox(){}publicDummyTextBox(stringtext){this.Text=text;}publicstringText;}
解决方案八:
另外,注意下sql注入的问题,直接拼接sql文会有sql注入的风险。还有,你们密码都是明文存数据库的???!!!!连接字符串连的数据库希望是测试数据库而不是真正的生产环境,不然直接sa连阿,密码还看得到阿。。。。。最后,console如果要调用messagebox之类的winform的东西,记得加参照
解决方案九:
你们谁上传几个完成的控制台ATM已经连接好的SQLserver数据库,最好是vs2010打开的
解决方案十:
我醉了,你要源码就去搜搜,没有现成的话就拼凑拼凑。楼上这么详细还要现成的
解决方案十一:
不要这么写sql语句,容易出问题,而且容易被攻击。要使用SqlParameter:https://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlparameter(v=vs.110).aspx

时间: 2024-08-04 08:23:57

C#控制台做ATM,SQLserver表已经创建好了,在vs2010代码里面写SQL语句时,该怎么写?我思路现在蛮混乱的相关文章

update-Update 数据表时自动求如何写SQL语句呢(使用SQL Sever)?(设计触发器或存储过程吧)

问题描述 Update 数据表时自动求如何写SQL语句呢(使用SQL Sever)?(设计触发器或存储过程吧) 我有一个学生考试信息表: 考号,姓名,语文成绩,数学成绩,英语成绩,文综成绩,总成绩 (PS:默认各科成绩,总成绩都为 0)在老师登分时只会登入各个科目的成绩,我使用的是SQL Sever数据库,当老师登入各科成绩时(使用Update),如何触发自动求和?_谢谢!_ 解决方案 create trigger trig_学生考试信息表 on 学生考试信息表 for insert as be

mysql-Mysql向表中某个字段添加有规律字符串怎么写SQL语句?例如(1P,2P,3P)

问题描述 Mysql向表中某个字段添加有规律字符串怎么写SQL语句?例如(1P,2P,3P) 如图所示 表 b 有三个字段aid,partname,partid,我希望partid字段可以根据partname字段的值添加有规律的字符串. 例如 partname字段值为PART 1则partid字段添加值 1P,partname字段值为PART 2则partid字段添加值 2P, partname的值除了上述格式还有TV 01,TV 02,特征都是字符串有(无)空格加数字, 还有种就是数字夹在字符

两张表中添加一天一条记录 求大神 帮忙看下 sql 语句该如何去写

问题描述 求大神帮忙解决一个问题比如说有三张表A,B,C三张表,我想将A中的某条数据点击添加按钮的时候同时加到B和C两张表,如何添加?A和B是一对多关系B和C是一对多关系sql语句该如何去写 解决方案 解决方案二:分开逻辑写呗.解决方案三:用触发器可以吗解决方案四:触发器没经常用,的忘记中写了解决方案五:还有其他办法吗

sql-怎么写Sql语句能把上边的数据库表查询出下边表样式的结果

问题描述 怎么写Sql语句能把上边的数据库表查询出下边表样式的结果 解决方案 这就叫做透视变换 自己谷歌下 解决方案二: http://www.cnblogs.com/luluping/archive/2012/07/26/2610705.html 解决方案三: http://www.cnblogs.com/cpcpc/archive/2013/04/08/3009021.html,这个就是列转行,看下这个.

oracle中复合索引的创建剖析—包含in的三个条件SQL语句复合索引的创建

之前文章中提过复合索引的创建思路: 1 前导列尽可能让更多的核心业务SQL能够使用 2 单个SQL语句索引的前导列尽量选择等值条件做为索引的前导列 这里我们如果在对in的谓词.三个条件的SQL语句复合索引的创建做一些更深入的分析,详细的例子如下: SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle D

c# 水晶报表 dataset中使用SQL语句创建了 tableadapter 但是没有数据没有传递到表里面

问题描述 先是在数据源里面创建了一个空的DataSet然后用SQL语句在数据集里面创建了tableadapter在tableadapter预览了一下数据也是可以看到的,但是在水晶报表数据库专家添加了之前创建的数据集之后在里面没有查看到数据把字段拉进去水晶报表里面之后显示的东西也只是自带的测试数据不是我要的数据 解决方案 解决方案二:初步觉得应该是Fill即获取数据后填充的时候没有填充好,但是我用的是它自动生成的代码...

创建索引对SQL语句执行的影响

一.创建索引对执行计划的影响 在SQL开始执行之前,Oracle会确定SQL语句的执行计划,并按照执行计划的步骤访问相应的表和索引. 一旦执行计划确定下来,Oracle会按照这个执行计划完成SQL语句的执行,在SQL语句执行开始之后建立的索引不会改变SQL语句的执行计划. 因此,创建索引不会对执行计划有任何的影响,也就不会对运行中的SQL语句有影响.下面通过一个例子简单验证一下: SQL> CREATE TABLE TEST (ID NUMBER, FID NUMBER, NAME VARCHA

sqlserver利用存储过程去除重复行的sql语句

还是先上代码吧 ,可以先看 SQL语句去掉重复记录,获取重复记录 复制代码 代码如下: ALTER procedure [dbo].[PROC_ITEMMASTER_GETUNIQUE] @PAGEINDEX INT,@uid int,@itemnumber varchar(50) AS begin tran --开始事务 drop table [ItemMaster].[dbo].[testim] --删除表 --把不重复记录转存到testim中 select * into [ItemMast

sqlserver-同样SQL语句使用SQLserver跟access数据库,SQLserver可以进行增删改,而access不能

问题描述 同样SQL语句使用SQLserver跟access数据库,SQLserver可以进行增删改,而access不能 同样的SQL语句,在一SQL server做后台数据库可以实现增删改,而使用access数据库就无法实现,在未关闭自己写的程序,再次查询时,使用access数据库可以再程序中看到增删改的效果,只是在access数据库内就没有数据改动.咋么回事? 解决方案 你看连接字符串,程序操作的access文件和你打开的不是用一个文件