菜鸟,随便写一个字符串然后放到string 型变量m_database里面,然后在mysql里面建表的时候调用这个变量,看见网上有段建表的代码
  sqlstr ="CREATE TABLE IF NOT EXISTS user_info";
sqlstr+="(";
sqlstr+="user_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Unique User ID',";
sqlstr+="user_name VARCHAR(100) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NULL COMMENT 'Name Of User',";
sqlstr+="user_second_sum INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'The Summation Of Using Time'";
sqlstr+=");";user_info   是表的名字,现在把他用  m_database  代替但是建不出表
       sqlstr ="CREATE TABLE IF NOT EXISTS m_database ";那应该怎么改呢?

解决方案 »

  1.   

    m_database是变量?
     sqlstr ="CREATE TABLE IF NOT EXISTS "+m_database;
     sqlstr+="(";
     sqlstr+="user_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Unique User ID',";
     sqlstr+="user_name VARCHAR(100) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NULL COMMENT 'Name Of User',";
     sqlstr+="user_second_sum INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'The Summation Of Using Time'";
     sqlstr+=");";
      

  2.   

    谢谢楼上,现在可以了。
    还有个问题,上面的代码在新建的表里分别建了3列user_id,user_name,user_second_sum,我想把其中的一列函数类型变为float型怎么改代码呢
      

  3.   

    其实我就是想建几个float型的列,怎么写呢?
      

  4.   

    alter table tt modify user_second_sum float
      

  5.   

    create table tt(t1 float,t2 float)
      

  6.   

    代码中的m_database是别的头文件中的变量,建了个dlg的对象
    sqlstr ="CREATE TABLE IF NOT EXISTS "+dlg.m_database;这段代码可以实现建表
    如果在建几个float型的列,写成下面这样?
    sqlstr ="CREATE TABLE IF NOT EXISTS "+dlg.m_database(t1 float,t2 float);
    我试了下,好像不对。
      

  7.   

    sqlstr ="CREATE TABLE IF NOT EXISTS "+dlg.m_database+"(t1 float,t2 float)";
      

  8.   

     sqlstr ="CREATE TABLE IF NOT EXISTS " + m_database;
    sqlstr+="(";
    sqlstr+="user_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Unique User ID',";
    sqlstr+="user_name VARCHAR(100) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NULL COMMENT 'Name Of User',";
    sqlstr+="user_second_sum float  NOT NULL DEFAULT 0 COMMENT 'The Summation Of Using Time'";
    sqlstr+=");";
      

  9.   


    大侠,单纯写这么一句
    sqlstr ="CREATE TABLE IF NOT EXISTS "+dlg.m_database+"(t1 float,t2 float)";
    建表失败,我把后面那段改成
      sqlstr+="(";
    sqlstr+="t1 FLOAT UNSIGNED NOT NULL ',";
    sqlstr+="t2 FLOAT UNSIGNED NOT NULL ,";
    sqlstr+="t3 FLOAT UNSIGNED NOT NULL ,";
    sqlstr+="t4 FLOAT UNSIGNED NOT NULL ,";
    sqlstr+="t5 FLOAT UNSIGNED NOT NULL ,";
    sqlstr+="t6 FLOAT UNSIGNED NOT NULL ,";
    sqlstr+="t7 FLOAT UNSIGNED NOT NULL ,";
    sqlstr+="t8 FLOAT UNSIGNED NOT NULL ,";
    sqlstr+="t9 FLOAT UNSIGNED NOT NULL ";
    sqlstr+=");";
    也不行。
    现在可以确认
    sqlstr ="CREATE TABLE IF NOT EXISTS "+dlg.m_database;
    sqlstr+="(";
     sqlstr+="user_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Unique User ID',";
     sqlstr+="user_name VARCHAR(100) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NULL COMMENT 'Name Of User',";
     sqlstr+="user_second_sum INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'The Summation Of Using Time'";
     sqlstr+=");";
    可以成功建表。
      

  10.   

    mysql> create table IF NOT EXISTS tt(t1 float,t2 float);
    Query OK, 0 rows affected (0.06 sec)mysql>
    可以建表
    你将sqlstr中的内容显示出来看看
    sqlstr ="CREATE TABLE IF NOT EXISTS "+dlg.m_database+"(t1 float,t2 float)";
    dlg.m_database是什么,变量?
      

  11.   


    你写的那个是在mysql里写的。dlg.m_database是个变量。开始我可能没说清楚。
    用vc编了个程序,主界面有个按键“存入数据库”,程序运行会产生一些数据,然后点那个按键,会弹出个对话框,提示你输入数据库的表名,dlg.m_database就绑定的的那个对话框。然后点确定之后,就会建个新表,名字就是刚才键入的名字。程序会产生9列float型的数据
      

  12.   


    sqlstr ="CREATE TABLE IF NOT EXISTS " +dlg.m_database;
    sqlstr+="(";
    sqlstr+="t1 float NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Unique ID',";
    sqlstr+="t2 float NOT NULL DEFAULT 0 COMMENT 't2'";
    sqlstr+="t3 float NOT NULL DEFAULT 0 COMMENT ' t3'";
    sqlstr+="t4 float NOT NULL DEFAULT 0 COMMENT 't4'";
    sqlstr+=" t5 float NOT NULL DEFAULT 0 COMMENT 't5'";
    sqlstr+=" t6 float NOT NULL DEFAULT 0 COMMENT 't6'";
    sqlstr+=" t7 float NOT NULL DEFAULT 0 COMMENT 't7'";
    sqlstr+=" t8 float NOT NULL DEFAULT 0 COMMENT 't8'";
    sqlstr+=" t9 float NOT NULL DEFAULT 0 COMMENT 't9'";
    sqlstr+=");";按着你的,我改成这样可以么?试了下,建表失败……
      

  13.   

    sqlstr ="CREATE TABLE IF NOT EXISTS " +dlg.m_database;
    sqlstr+="(";
    sqlstr+="t1 float NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Unique ID',";
    sqlstr+="t2 float NOT NULL DEFAULT 0 COMMENT 't2',";
    sqlstr+="t3 float NOT NULL DEFAULT 0 COMMENT ' t3',";
    sqlstr+="t4 float NOT NULL DEFAULT 0 COMMENT 't4',";
    sqlstr+=" t5 float NOT NULL DEFAULT 0 COMMENT 't5',";
    sqlstr+=" t6 float NOT NULL DEFAULT 0 COMMENT 't6',";
    sqlstr+=" t7 float NOT NULL DEFAULT 0 COMMENT 't7',";
    sqlstr+=" t8 float NOT NULL DEFAULT 0 COMMENT 't8',";
    sqlstr+=" t9 float NOT NULL DEFAULT 0 COMMENT 't9'";
    sqlstr+=");";
    楼主啊,这是基本的SQL语法啊。另外建议不要贴你的C#的代码, 你可以直接断点调试的时候,看一下sqlstr 的内容是什么,然后贴出来。否则别人还要分析你的C代码。
      

  14.   

    仔细看看别人的回复哦sqlstr ="CREATE TABLE IF NOT EXISTS "+dlg.m_database+"(t1 float,t2 float)";
    sqlstr+="t2 float NOT NULL DEFAULT 0 COMMENT 't2'";你的逗号在哪里