windows下C API连接mysql问题 满意加高分 急急!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下C API连接mysql问题 满意加高分 急急!!相关的知识,希望对你有一定的参考价值。
怎么在windows下 用VC 6.0工具连接mysql, 我现在不需要代码,只想知道怎么加载libmySQL.dll
步骤是什么??我用LoadLibrary("libmySQL.dll");加载报错:
E:\BT_SRC\demo\demo.cpp(5) : error C2501: 'LoadLibraryA' : missing storage-class or type specifiers
E:\BT_SRC\demo\demo.cpp(5) : error C2373: 'LoadLibraryA' : redefinition; different type modifiers
c:\program files\microsoft visual studio\vc98\include\winbase.h(4159) : see declaration of 'LoadLibraryA'
E:\BT_SRC\demo\demo.cpp(5) : error C2440: 'initializing' : cannot convert from 'char [13]' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
用这个#pragma comment(lib, "libmysql.dll")加载,将libmysql.dll拷贝到当前工程目录报错:
ibmysql.dll : warning LNK4003: invalid library format; library ignored
libmysql.dll : warning LNK4003: invalid library format; library ignored
demo.obj : error LNK2001: unresolved external symbol _mysql_free_result@4
demo.obj : error LNK2001: unresolved external symbol _mysql_num_fields@4
demo.obj : error LNK2001: unresolved external symbol _mysql_fetch_row@4
demo.obj : error LNK2001: unresolved external symbol _mysql_num_rows@4
demo.obj : error LNK2001: unresolved external symbol _mysql_store_result@4
demo.obj : error LNK2001: unresolved external symbol _mysql_query@8
demo.obj : error LNK2001: unresolved external symbol _mysql_real_connect@32
demo.obj : error LNK2001: unresolved external symbol _mysql_init@4
注:我完整的安装了mysql 5.1
满意一定高分!!!
#include "C:/MySQL Server 5.1/include/mysql.h"
#pragma comment(lib, "C:/MySQL Server 5.1/lib/debug/libmysql.lib")
这样就行了追问
我的路径是#include #include #include
#include "C:\Program Files\MySQL\MySQL Server 5.1\include\mysql.h"
#pragma comment(lib,"C:\Program Files\MySQL\MySQL Server 5.1\lib\debug\libmysql.dll")还是报错:
LINK : fatal error LNK1104: cannot open file "C:Program FilesMySQLMySQL Server 5.1libdebuglibmysql.dll"
Error executing link.exe.
不能打开??? 大侠指教啊!!!
用/或\\
是libmysql.lib,不要指定dll
恩 可以了 非常感谢 能解释下为什么不能指定dll 本人菜鸟 呵呵
追答链接库就是要链接lib,哪有链接dll的,dll是可执行程序
参考技术A 目录不对 libmySQL.dll放到debug下 吧
编译就是编译用的 参考技术B 1
windows10环境下eclipse连接mysql
windows10环境下eclipse连接mysql
只要按照下面的步骤走,绝对绝对错不了,除非今天上厕所没带纸
第一步:
安装mysql驱动器,可以在官网上面下载,里面是会有的,另外推荐一个网站直接下载: https://mvnrepository.com/artifact/mysql/mysql-connector-java
注意:点击我画住的地方,不要点击后面的蓝色central
,然后下载jar包就好了。如果不知道自己mysql版本是多少的,可以到下载mysql的文件上面查看(除非你给他改了个名字)
第二步:配置环境:
1.将下载好的jar包复制粘贴到你下载的java的jdk安装目录下的lib目录下面
2.在高级系统设置中,配置环境变量,将驱动器路径添加到CLASSPATH路径中,如果没有的话,可以新建一个
注意:加完路径后,记得加上分号哦
第三步:新建一个用来测试的数据库test1,按照下面的创建就好了
mysql>create database test; mysql>use test; mysql>create table user(name varchar(20),password varchar(20)); mysql>insert into user values(\'huzhiheng\',\'123456\');
第四步:打开eclipse配置并测试:
1.创建一个java项目,命名为onetest。
2.在onetest项目上右键,Build Path-->Add External Archives to Java Build Path-->选择mysql驱动器存放路
3.上代码测试:除了第一行的包名,还有mysql的用户名和密码在代码中可能需要修改,其他的不修改
package cc.bb.aa; import java.sql.*; public class onetest { public static void main(String args[]) { try { Class.forName("com.mysql.jdbc.Driver"); //加载MYSQL JDBC驱动程序 //Class.forName("org.gjt.mm.mysql.Driver"); System.out.println("Success loading Mysql Driver!"); } catch (Exception e) { System.out.print("Error loading Mysql Driver!"); e.printStackTrace(); } try { Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?serverTimezone=UTC","root",""); //连接URL为 jdbc:mysql//服务器地址/数据库名 ,后面的2个参数分别是登陆用户名和密码 System.out.println("Success connect Mysql server!"); Statement stmt = connect.createStatement(); ResultSet rs = stmt.executeQuery("select * from user"); while (rs.next()) { System.out.println(rs.getString("name")); } } catch (Exception e) { System.out.print("get data error!"); e.printStackTrace(); } } }
注意:这里其实有一个注意的地方,Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?serverTimezone=UTC","root","");
,这里在MySQL8.0及以上要加上这句话:?useSSL=false&serverTimezone=UTC
,如果不添加,程序会报错。上面的代码已添加上了。
第五步:查看测试结果:
以上是关于windows下C API连接mysql问题 满意加高分 急急!!的主要内容,如果未能解决你的问题,请参考以下文章