1. 首页 > 科技

C++的数组怎么配对Mysql的varchar? varchar转换成int类型

C++的数组怎么配对Mysql的varchar?varchar转换成int类型

如何将数组插入数据库

不能直接存。重新以记录形式把数组数据组织进去。

C++怎么连接MySQL数据库?

首先你知道MFC程序的架构吗?如果你不知道的话,那和你说了怎么把MYSQL数据库的调用函数加到MFC中去你也看不懂啊。

用CONSOLE方式调用MYSQL和在MFC中调用MYSQL数据库没有本质的区别,都是通过API接口来调用,你只需要把MYSQL下面的头文件(MYSql的include目录下)拷贝到你的工程中,然后在你的工程中#include "mysql.h" 这个头文件就可以了。在你的代码中只需要在你需要的时候调用相关的API函数即可。

另外需要注意的是,你需要把libmysql.lib链接库链接到你的程序中,简单的说,在你的调用的地方(.cpp)文件的开头中加入如下语句:

#include "stdafx.h"

#include .....

#pragma comment(lib, "libmysql.lib") // 这样引入libmysql.dll

libmysql.lib和libmysql.dll都在mysql的安装目录下。

如何将CSV数据导入MySQL

导入操作

存在特殊字符情况的处理

Book1.csv

编号,名称,说明

1,测试数据1,"测试CSV文件中,有逗号"

2,测试数据2,"测试CSV文件中有""双引号"""

3,测试数据3,"测试CSV文件中,有逗号和""双引号"""

4,测试数据4,普通数据

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

mysql> CREATE TABLE Test_Book1 (

-> id int,

-> name VARCHAR(10),

-> data VARCHAR(100)

-> );

Query OK, 0 rows affected (0.05 sec)

下面的 lines terminated by '\r\n' 是 要求换行符号,为 windows的换行

下面的 ignore 1 lines是 忽略第一行的标题行。

mysql> LOAD DATA INFILE 'f:/Book1.csv'

-> INTO TABLE Test_Book1

-> FIELDS TERMINATED BY ','

-> OPTIONALLY ENCLOSED BY '"'

-> lines terminated by '\r\n'

-> ignore 1 lines

-> (id, name, data);

Query OK, 4 rows affected (0.00 sec)

Records: 4 Deleted: 0 Skipped: 0 Warnings: 0

mysql> select * from test_book1;

+------+-----------+--------------------------------+

| id | name | data |

+------+-----------+--------------------------------+

| 1 | 测试数据1 | 测试CSV文件中,有逗号 |

| 2 | 测试数据2 | 测试CSV文件中有"双引号" |

| 3 | 测试数据3 | 测试CSV文件中,有逗号和"双引号" |

| 4 | 测试数据4 | 普通数据 |

+------+-----------+--------------------------------+

4 rows in set (0.00 sec)

数据库类型转换 varchar int

你的思路是对的,必须保证字段里全部是数字才可以修改

例:表table2中的列id为int型,现改为varchar 型

alter table table2 alter column id varchar

如果要修改整个数据库的类型,可以用下面的语句

例子:把整个数据库的varchar 类型转换为nvarchar(放在查询分析器里执行)

declare @sql nvarchar(4000)

set @sql=''

select @sql=@sql+'alter table '+a.name+' alter column '+b.name +' nvarchar('+left(b.length,99)+')'+char(13)

from

sysobjects a inner join syscolumns b on a.id=b.id inner join systypes c on b.xusertype=c.xusertype

where a.xtype='U' and c.name='varchar' --and name >= '?'

order by b.name

print @sql

declare @sql varchar(8000)

select @sql = ''

select @sql = @sql + ' alter table [' + object_name(id) +'] alter column ['+name+'] nvarchar('+convert(varchar(4),length)+') '+char(13) from syscolumns

where objectproperty(id,'IsUserTable')=1 and xusertype=167

print @sql

alter table Table1 alter column a nvarchar(50)

alter table sipfriends alter column accountcode nvarchar(20)