Mysql 操作示例

插入数据:

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
31
32
33
string mydb = "test";

void insertTest()
{
  string sql = "CREATE TABLE `test` (`id` INT NOT NULL AUTO_INCREMENT,`name` VARCHAR(100),PRIMARY KEY (`id`))";
  Print("sql = "+sql+"\n");

  Mysql mysql;

  Print("--------------------------------\n");
  bool b = mysql.open(mydb);
  Print("mysql.open, b: "+b+" ,err:"+GetLastError()+"\n");

  Print("--------------------------------\n");
  mysql.clear();
  Print("mysql clear ok\n");

  Print("--------------------------------\n");
  b = mysql.exec(sql);
  Print("mysql.create table test, b: "+b+" ,err:"+GetLastError()+"\n");

  Print("--------------------------------\n");
  Print("开始插入数据:");
  for(uint i=0;i<10;i++)
  {
    sql = "insert into test (name) values ('pbj"+i+"')";
    if(mysql.exec(sql))
        Print("insert i:"+i+" ok\n");
    else
        Print("insert i:"+i+" fail\n");
  }
  mysql.close();
}

for遍历:

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
string mydb = "test";

void forTest()
{
  Print("--------------------------------\n");
  string sql = "select * from test";
  Mysql mysql;
  bool b = mysql.open(mydb);
  Print("mysql.open, b: "+b+" ,err:"+GetLastError()+"\n");
  MYSQL_RES res = mysql.query(sql);

  Print("for遍历结果集:\n");
  Print("序号\tname\n");
  for(uint i=0;i<res.rows();i++)
  {
      string str = "";
      for(uint j=0;j<res.cols();j++)
      {
        if(str.length() != 0)
            str.append("\t");
        str.append(res.getString(i,j));
      }
      Print(str+"\n");
  }
  mysql.close();
}

顺序遍历:

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
string mydb = "test";

void moveToNextTest()
{
  Print("--------------------------------\n");
  string sql = "select * from test";
  Mysql mysql;
  bool b = mysql.open(mydb);
  Print("mysql.open, b: "+b+" ,err:"+GetLastError()+"\n");
  MYSQL_RES res = mysql.query(sql);

  Print("--------------------------------\n");
  Print("moveToNext顺序遍历:\n");
  Print("序号\tname\n");
  while(res.moveToNext())
  {
    string str = ""+res.getInt("id")+"\t"+res.getString("name");
    Print(str+"\n");
  }
  Print(GetLastError()+"\n");

  Print("--------------------------------\n");
  Print("res.toJson :"+res.toString()+"\n");

  Print("--------------------------------\n");
  mysql.close();
  Print("mysql.close\n");
}

倒序遍历:

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
string mydb = "test";

void moveToPrevTest()
{
  Print("--------------------------------\n");
  string sql = "select * from test";
  Mysql mysql;
  bool b = mysql.open(mydb);
  Print("mysql.open, b: "+b+" ,err:"+GetLastError()+"\n");
  MYSQL_RES res = mysql.query(sql);

  Print("--------------------------------\n");
  Print("moveToPrev倒序遍历:\n");
  Print("序号\tname\n");
  while(res.moveToPrev())
  {
     string str = "";
     for(uint j=0;j<res.cols();j++)
     {
        if(str.length() != 0)
            str.append("\t");
        str.append(res.getString(j));
     }
      Print(str+"\n");
  }
  Print(GetLastError()+"\n");
 
  mysql.close();
}

结果集从头开始遍历:

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
string mydb = "test";

void moveToHeadTest()
{
  Print("--------------------------------\n");
  string sql = "select * from test";
  Mysql mysql;
  bool b = mysql.open(mydb);
  Print("mysql.open, b: "+b+" ,err:"+GetLastError()+"\n");
  MYSQL_RES res = mysql.query(sql);

  Print("--------------------------------\n");
  res.moveToHead();
  Print("moveToHead Test:\n");
  Print("序号\tname\n");
    do
    {
        string str = "";
        for(uint j=0;j<res.cols();j++)
        {
            if(str.length() != 0)
                str.append("\t");
            str.append(res.getString(j));
        }
        Print(str+"\n");
    }while(res.moveToNext());

  mysql.close();
}

结果集从尾开始遍历:

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
string mydb = "test";

void moveToTailTest()
{
  Print("--------------------------------\n");
  string sql = "select * from test";
  Mysql mysql;
  bool b = mysql.open(mydb);
  Print("mysql.open, b: "+b+" ,err:"+GetLastError()+"\n");
  MYSQL_RES res = mysql.query(sql);

  Print("--------------------------------\n");
  res.moveToTail();
  Print("moveToTail Test:\n");
  Print("序号\tname\n");
    do
    {
        string str = "";
        for(uint j=0;j<res.cols();j++)
        {
            if(str.length() != 0)
                str.append("\t");
            str.append(res.getString(j));
        }
        Print(str+"\n");
    }while(res.moveToPrev());

  mysql.close();
}

================= Demo下载 =================

Sqlite 操作示例

Sqlite 操作示例

插入数据: 1234567891011121 […]