分别库文件和代码添加到Loadrunner bin目录和include目录下
2、vuser_init文件添加代码:


[objc]
​​view plain​​​
​​​copy​​



1. #include "Ptt_Mysql.h"
2. #include "mysql.h"
3. #include "mysql_com.h"
4. #include "mysql_time.h"
5. #include "mysql_version.h"
6. #include "typelib.h"
7. #include "my_list.h"
8. #include "my_alloc.h"
9. #define MYSQLSERVER "172.16.1.220"
10. #define MYSQLUSERNAME "dbuser"
11. #define MYSQLPASSWORD "1qaz@wsx"
12. #define MYSQLDB "sroa_lyt"
13. #define MYSQLPORT "3309"
14. char chQuery[1024];
15. int statu=1;
16. int status=0;
17. MYSQL *Mconn;
18. char sql_query[256], sql_sub_query[50];
19. int i=0, res=0, conn_fail=0, conn_iter=0;
20. char response[50];// to go
21. vuser_init()
22. {
23. "libmysql.dll");
24. "mysql_conn"); //设置一个连接数据库的事务
25. /*------------------------------------------------------------------------*/
26. /* Initialise MySQL */
27. if(!(Mconn = mysql_init(NULL)))
28. {
29. "Error -1: Cannot initialize MySQL - %s", mysql_error(Mconn));
30. //return -1;
31. 0;
32. "mysql_conn", LR_FAIL); //初始化数据库失败判定事务失败
33. }
34. /*------------------------------------------------------------------------*/
35. do
36. {
37. /* Connect to database */
38. if (!mysql_real_connect(Mconn, MYSQLSERVER, MYSQLUSERNAME, MYSQLPASSWORD, MYSQLDB, atoi(MYSQLPORT), NULL, 0))
39. {
40. 2;
41. conn_iter++;
42. 100);
43. }
44. else
45. 0;
46. }
47. while(conn_fail < 0 && conn_iter < 10);
48. if (conn_fail < 0)
49. {
50. "Error -2: %s", mysql_error(Mconn));
51. //mysql_close(Mconn);
52. //return -2;
53. 0;
54. "mysql_conn", LR_FAIL); //连接数据库失败判定事务失败
55. }
56. else
57. {
58. //lr_message("MySql - Good Connection");
59. //mysql_close(Mconn);
60. 1;
61. "mysql_conn", LR_PASS); //连接数据库成功,事务通过。
62. }
63. return 0;
64. }


3、Action文件添加代码

[objc]
​​view plain​​​
​​​copy​​



1. Action()
2. {
3. if(statu){ //成功连接数据库后才进行执行sql的操作
4. "mysql_select");
5. "SELECT id, lb, title, nr, attachment_id, attachment_name, pic_name, fbsj, fbbm, fbr, vcount FROM sroa_lyt.oa_news;");//查询论坛用户
6. //sprintf(chQuery,"UPDATE lr_test SET password = "%s" WHERE username='tom'",lr_eval_string ("{pwd}"));
7. /*
8. sprintf(chQuery,"update pre_ucenter_members set username='dd' where username='qq' ");//更改用户名qq为dd
9. sprintf(chQuery,"delete from pre_ucenter_members ORDER BY uid desc LIMIT 1");//删除最后添加的一条数据
10. */
11. status = lr_mysql_query(Mconn, chQuery);
12. if(status!=0){ //判断sql是否执行成功
13. "mysql_select",LR_FAIL);
14. else{
15. "mysql_select",LR_PASS);
16. }
17.
18. "mysql_insert");
19. "insert into oa_news(id, lb, title, nr, attachment_id, attachment_name, pic_name, fbsj, fbbm, fbr, vcount) values(9,9,'qq@qq.com','test','','','teste','',6,'test',0)");//插入数据
20. status = lr_mysql_query(Mconn, chQuery);
21. if(status!=0){ //判断sql是否执行成功
22. "mysql_insert",LR_FAIL);
23. else{
24. "mysql_insert",LR_PASS);
25. }
26. }
27. return 0;
28. }
4、vuser_end文件添加代码:

[objc]
​​view plain​​​
​​​copy​​



1. vuser_end()
2. {
3. //关闭数据库连接
4. return 0;
5. }