String sql="insert into DemoDB values('"+str1+"','"+str2+"')";

解决方案 »

  1.   

    或者用
    new PrepareStatement().setString(1,str1);
      

  2.   

    insert into格式不对,假设num在数据库里是数字类型
    sqlstr="insert into DemoDB (field1,field2,field3) values ("+num+",'"+str1+"','"+str2+"')"
    得到的sqlstr就是insert into DemoDB (field1,field2,field3) values (1,'abc','def')这样才对
      

  3.   

    创建 INSERT INTO 查询
    可以使用 INSERT INTO 查询在当前表中创建新行。创建 INSERT INTO 查询时指定: 将行添加到的数据库表。
    要添加内容的列。
    将要插入到单个列中的值或表达式。 
    例如,下面的查询将一行添加到 titles 表中,以指定书名、类型、出版商及价格的值:INSERT INTO titles
             (title_id, title, type, pub_id, price)
    VALUES   ('BU9876', 'Creating Web Pages', 'business', '1389', '29.99')
    当创建 INSERT INTO 查询时,网格窗格将更改以反映仅可用于插入新行的选项:要插入的列名和值。注意   不能撤消执行 INSERT INTO 查询的操作。作为预防措施,请在执行 INSERT INTO 查询前备份数据。创建 INSERT INTO 查询 将要更新的表添加到关系图窗格。
    在查询设计器中右击,指向"更改类型"菜单,然后选择"插入到"命令。 
    注意   当启动 INSERT INTO 查询时,如果关系图窗格中显示的表不止一个,查询设计器将显示插入到对话框,提示您输入要更新的表名。 将数据列添加到查询中以定义要创建的数据列。有关详细信息,请参见添加列。只有将列添加到查询中后,列才被更新。
    在网格窗格的"新值"列中输入列的新值。可以输入字面值、列名或表达式。值必须与所更新的列的数据类型相匹配(或兼容)。 
    注意   查询设计器无法检查值是否适合正插入的列长。如果提供的值太长,则可能会被截断而不警告。例如,如果 name 列的长度是 20 个字符,但指定的插入值是 25 个字符,则最后的 5 个字符可能会被截断。 当执行 INSERT INTO 查询时,结果窗格中将不报告任何结果。而是显示一条消息指出已更改的行数。