winform数据库连接问题

问题描述

SqlConnectionconn=newSqlConnection("server=localhost;database=taoj;uid=xa;pwd=xa");conn.Open();stringsql="select*fromregeditwhereusername='"+this.textBox1.Text+"'anduserpassword="+"'"+this.textBox2.Text+"'";SqlCommandcmd=newSqlCommand(sql,conn);这样可以正常连接数据库,但是由于sql语句的单引号比较麻烦我把语句修改成SqlConnectionconn=newSqlConnection("server=localhost;database=taoj;uid=xa;pwd=xa");conn.Open();SqlCommandcmd=newSqlCommand();cmd.Connection=conn;cmd.CommandText="select*fromregeditwhereusername='this.textBox1.Text'anduserpassword='this.textBox2.Text'";这样就查询不出结果SqlConnectionconn=newSqlConnection("server=localhost;database=taoj;uid=xa;pwd=xa");conn.Open();SqlCommandcmd=newSqlCommand("select*fromregeditwhereusername='this.textBox1.Text'anduserpassword='this.textBox2.Text'";,conn);这样也不行,不知道为什么?

解决方案

解决方案二:
后面的语句大概是这样SqlDataReaderdr=cmd.ExecuteReader();if(dr.Read()){}else{}第一种可以正常判断是否dr.read有记录,而后面两种写法直接到else里面去,帮忙看看为什么
解决方案三:
同意楼上的
解决方案四:
cmd.CommandText="select*fromregeditwhereusername='this.textBox1.Text'anduserpassword='this.textBox2.Text'";这样肯定不行的,因为'this.textBox1.Text'在这里表示的是一个字符串,而并不是textbox1.text的值,而且你这种验证很容易出问题,最好是先将此用户的注册信息读取到本地,再用查询后的结果对比password安全会好些
解决方案五:
用参数,这样就没有了单引号的问题privateconststringSQL_SELECT_TEXT="select*fromregeditwhereusername=@nameanduserpassword=@pwd";SqlCommandcmd=newSqlCommand();cmd.Connection=conn;cmd.CommandText=SQL_SELECT_TEXT;cmd.Parameters.Add(newSqlParameter("@name",this.textBox1.Text.Trim()));cmd.Parameters.Add(newSqlParameter("@pwd",this.textBox1.Text.Trim()));
解决方案六:
我喜欢4楼的方法总是用+连接字符串回看上去很乱
解决方案七:
有人帮你看那么乱的字符串啊,好人~
解决方案八:
cmd.CommandText=string.Format("select*fromregeditwhereusername='{0}'anduserpassword='{1}'",this.textBox1.Text.Trim(),this.textBox2.Text.Trim());
解决方案九:
cmd.CommandText="select*fromregeditwhereusername="+this.textBox1.Text+"anduserpassword="+this.textBox2.Text;或者就用4楼的方法。都可以搞定
解决方案十:
这似乎是初学者容易犯的错误之一'this.textBox1.Text'这样放在字符串里面的时候,不能识别为变量,而只是作为普通的字符串的一部分。
解决方案十一:
cmd.CommandText="select*fromregeditwhereusername='this.textBox1.Text'anduserpassword='this.textBox2.Text'";LZ想直接连上字符串,这个是错误的了.应该是stringsql="select*fromregeditwhereusername='"+this.textBox1.Text+"'anduserpassword="+"'"+this.textBox2.Text+"'";
解决方案十二:
恩,谢谢各位,4楼的不错
解决方案十三:
该回复于2007-10-18 08:48:38被版主删除

时间: 2024-08-18 07:34:50

winform数据库连接问题的相关文章

分享一些WinForm数据库连接界面UI

1.动软代码生成器源码中. 2.DevExpress控件包中有类似的界面 3.代码生成器:http://www.csharpwin.com/csharpspace/11666r2577.shtml 4.Millennials代码生成器:http://www.codeproject.com/Articles/288283/Millennials-A-Custom-Source-Code-Generator 5.51aspx网站的代码生成器:http://www.51aspx.com/CodeFil

C# WinForm程序App.Config数据库连接配置文件的使用过程

App.Config[应用程序配置文件],它其实就是一个标准的XML文件,不过.Net类库已经封装了读取这个文件的方法.可以很方便的使用.看下使用过程. 1.右键解决方案资源管理器中你的项目名,[添加]>[新建项],选择列表中的[应用程序配置文件],默认文件即是App.Config.确定. 2.打开App.Config,初始的XML代码为: <xml version="1.0" encoding="utf-8" > <configuratio

C#的winform中使用数据库连接字符串

在解决方案中增加一窗口选择xml文件,并将名称改为app.config.其内容设置如下: <?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="source" value="Server=localhost;uid=sa;pwd='fang';database=khgx;" />

C#winform应用中的SQLite数据库连接问题

问题描述 最近做一个小单机软件用SQLite做数据库.通过一个SQLiteHelper类操作数据库.数据库的连接可以打开,也就是connection的open方法可以执行,但是进行查询或其他操作就会出现如下图错误.这是连接字符串的错误还是数据库的错误还是其他错误?.具体相关代码如下://界面中的下拉菜单privatevoidmajorBox_SelectedIndexChanged(objectsender,EventArgse){string[]majors={"信息与计算科学",&

C# WinForm程序的App.Config数据库连接配置文件

App.Config[应用程序配置文件],它其实就是一个标准的XML文件,不过.Net类库已经封装了读取这个文件的方法.可以很方便的使用.看下使用过程. 1.右键解决方案资源管理器中你的项目名,[添加]>[新建项],选择列表中的[应用程序配置文件],默认文件即是App.Config.确定. 2.打开App.Config,初始的XML代码为: <xml version="1.0" encoding="utf-8" > <configuratio

.net中webform和winform连接sql server 2000数据库的c#操作类

server|web|数据|数据库 一.这个为c#连接winform注意点:(1)调用时必须引用此类的命名空间(2)类中引用的命名空间using System;using System.Data;using System.Data.SqlClient;(3)调用示例: DataSet ds =new DataSet(); string sql="select * from [user]"; ds=DoDataBase.GetDataSet(sql); dataGrid1.DataSou

C#访问MySQL数据库(winform+EF)

原文:C#访问MySQL数据库(winform+EF) 以前都是C#连接SQLServer,现在MySQL也比较火了,而且是开源跨平台的,这里连接使用一下,主要是体会一下整个流程,这里使用的是winform 访问MYSQL,当然使用winfrom,还是wfp,以及其他的技术这里不讨论,个人觉得这个比较上手快. http://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html 1.安装MYSQl数据库,这里略过,可以参考此文档进行安装.

服务器-c# winform 连接数据库 和关于发布的问题

问题描述 c# winform 连接数据库 和关于发布的问题 winform连接数据库是放在app.config文件中的如图开发"> 我这样写本地可以连上 把程序放在别的电脑上就连不上了 如果写上我的外网ip的话 本地和其他电脑都连不上 另外 我这个程序发布的话 数据库连接语句放在那里呢? 还是在config文件中吗 那不暴露了? 我的数据库放在远程服务器上 那我怎么写连接语句呢? 解决方案 别的计算机是在一个网段么?如果不是还要端口映射. 如果是的话,你需要检查以下配置: 防火墙设置 s

winform-.NET WinForm程序运行“未响应”问题

问题描述 .NET WinForm程序运行"未响应"问题 之前给单位管理部门做了一个小型管理软件,采用WPF开发(基本界面,无特效),C#语言,实现增删查功能. 程序正常运行流程(顺序)如下:首先加载Login窗口,用户正确登录后打开Main窗口,Login窗口关闭,用户在Main窗口中进行数据处理(增删改). 用户一直用的不错(用户电脑为Windows 7专业版 32位系统),上周五都能正常使用,本周一使用时出现问题,具体表现如下: Login窗口能正常加载,正常登录后Main窗口打