C#项目写一个查询数据库数据的代码

C#项目写一个查询数据库数据的代码,第1张

我看你的意思应该是通过输入的账户跟密码确定身份吧?我给你说一下原理跟写法吧

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语言如何输出

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6759795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存