string
txtConn
=
"(连接数据库的代码——以oracle数据库为例Provider=MSDAORA.1Password=数据库密码(默认是sa)Persist
Security
Info=FalseUser
ID=用户名(默认是sa)Data
Source=数据库名称")"///如果是SQL或者Access百度一下,有现成的连接语句,粘过来放在这就行。这句代码放在全局,不要写在单击事件里面,下面的写在点击事件里面。
using
(OleDbConnection
conn
=
new
OleDbConnection(txtConn))
{
string
SqlRecognize
=
string.Format("select
身份
from
table_UesrInfo
where
账号='{0}'
and
密码='{1}')",UserID,userPassword)
OleDbCommand
cmd
=
new
OleDbCommand(SqlRecognize,conn)
conn.Open()
cmd.ExecuteNonQuery()
}
说一下原理,其实不用执行两次查询,UserID,userPassword都是文本框的名称吧,文本框的值是动态变化的,当你输入不同的值的时候,系统会把值赋给sql语句里面的“账号”跟“密码”这两个字段,数据库会执行不同的查询
还有你也可以这么写
select
身份
from
table_UesrInfo
where
账号='"+UserID+"'
and
密码='"+userPassword+"'
你将UserID,userPassword的值直接赋给sql语句,根据不同的值自然会查询出不同的结果。
//vc工具中添加E:\WAMP\BIN\MYSQL\MYSQL5.5.8\LIB 路径//在工程设置-》链接》库模块中添加 libmysql.lib
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <winsock.h>
#include "E:\wamp\bin\mysql\mysql5.5.8\include\mysql.h"
void main(){
MYSQL *conn
MYSQL_RES *res
MYSQL_ROW row
char *server ="localhost"
char *user ="root"
char *password=""
char *database="test"
char sql[1024]="select * from chinaren"
conn=mysql_init(NULL)
if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0)){
fprintf(stderr,"%s\n",mysql_error(conn))
exit(1)
}
if(mysql_query(conn,sql)){
fprintf(stderr,"%s\n",mysql_error(conn))
exit(1)
}
res=mysql_use_result(conn)
while((row = mysql_fetch_row(res))!=NULL){
printf("%s\n",row[2])
}
mysql_free_result(res)
mysql_close(conn)
}
===============================
#if defined(_WIN32) || defined(_WIN64) //为了支持windows平台上的编译
#include <windows.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include "mysql.h"
//定义数据库 *** 作的宏,也可以不定义留着后面直接写进代码
#define SELECT_QUERY "show tables"
int main(int argc, char **argv) //char **argv 相当于 char *argv[]
{
MYSQL mysql,*handle //定义数据库连接的句柄,它被用于几乎所有的MySQL函数
MYSQL_RES *result //查询结果集,结构类型
MYSQL_FIELD *field//包含字段信息的结构
MYSQL_ROW row //存放一行查询结果的字符串数组
char querysql[160] //存放查询sql语句字符串
//初始化
mysql_init(&mysql)
//连接数据库
if (!(handle = mysql_real_connect(&mysql,"localhost","user","pwd","dbname",0,NULL,0))) {
fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(&mysql))
}
sprintf(querysql,SELECT_QUERY,atoi(argv[1]))
//查询数据库
if(mysql_query(handle,querysql)) {
fprintf(stderr,"Query failed (%s)\n",mysql_error(handle))
}
//存储结果集
if (!(result=mysql_store_result(handle))) {
fprintf(stderr,"Couldn't get result from %s\n", mysql_error(handle))
}
printf("number of fields returned: %d\n",mysql_num_fields(result))
//读取结果集的内容
while (row = mysql_fetch_row(result)) {
printf("table: %s\n",(((row[0]==NULL)&&(!strlen(row[0]))) ? "NULL" : row[0]) )
}
//释放结果集
mysql_free_result(result)
//关闭数据库连接
mysql_close(handle)
system("PAUSE")
//为了兼容大部分的编译器加入此行
return 0
}
mysql的,首先你得连好环境,不知能不能帮到你,这本来是我在C++写的,你要是不懂的话这个对你可能完全没用。MYSQL mysql//数据库连接句柄
MYSQL_RES *result
mysql_init (&mysql)
MYSQL_ROW sql_row
if(!mysql_real_connect(&mysql,"localhost","root","密码","数据库名字",3306,NULL,0))
{//mydb为你所创建的数据库,3306为端口号,可自行设定
printf("数据库连接失败\n")
}
else
{ mysql_query(&mysql, "SET NAMES GBK")//设置字体,因为中文可能乱码
mysql_query(&mysql,"select * from 表名 where 公司名的字段名=‘你要搜的公司名’")//运行SQL语句
result=mysql_store_result(&mysql)
sql_row=mysql_fetch_row(result)//搜到的结果显示到数组sql_row[]
if(sql_row)
{
printf("没有找到")
return
}
输出sql_row[x]
//sql_row[x]就是结果,。x是字段在表的位置,第一个位置就是sql_row[0]。但是我不知道C语言如何输出
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)