在 MS Access 数据库中使用 Insert into SQL



当我的 MS Access 数据库中选中(复选框(列时,我正在尝试将多个列从一个表复制到另一个表(两个表中的列名相同(。我知道我可以使用Insert Into SQL查询,但它似乎不起作用。

当我尝试运行它时,我只是得到

插入语句中的语法错误

这是我写的:

INSERT INTO Fauna_ATT (Burn ID, Burn Name, Value Effected, Pre Burn Action Details, During Burn Action Details, Post Burn Action Details) 
    SELECT Burn ID, Burn Name, Value Effected, Pre Burn Action Details, During Burn Action Details, Post Burn Action Details 
    FROM EPFP 
    WHERE ATT="TRUE";

Fauna_ATT是我的表,我希望放置列

我要复制Burn ID, Burn Name, Value Effected, Pre Burn Actions, During Burn Actions and Post Burn Actions

EPFP是我的表,我希望列来自,我只希望在勾选ATT(复选框列(时复制列。

列名括在"[]"中

INSERT INTO Fauna_ATT ([Burn ID], [Burn Name], [Value Effected], [Pre Burn Action Details], [During Burn Action Details], [Post Burn Action Details]) 
SELECT [Burn ID], [Burn Name], [Value Effected], [Pre Burn Action Details], [During Burn Action Details], [Post Burn Action Details]
FROM EPFP 
WHERE ATT=1;

有关何时将列名称括在括号中的详细信息,请参阅此处

    OleDbConnection conn;
    OleDbCommand cmd;
    OleDbDataReader dr;

   private void connectDb()
   {
            conn = new OleDbConnection(@"Your Connection String");
            conn.Open();//initialization of your connection
   }
   private void performCommandOne()
   {
         String command1 = "INSERT INTO Fauna_ATT values(@Burn_ID, @Burn_Name, 
         @Value_Effected, 
         @Pre_Burn_Action_Details, @During_Burn_Action_Details, 
         @Post_Burn_Action_Details)";
          /*insert statement and the name of your coloumns in your 
          database must be no space */
        /*this code dislays like this.
        if you perform the insert processs..*/
        /*connection of your database must be initialize first*/
        this.connectDb();
        cmd = new OleDbCommand(command1,conn);
        cmd.Parameters.AddWithValue("@Burn_ID", "Fields for Burn_ID");
        cmd.Parameters.AddWithValue("@Burn_Name", "Fields for Burn_Name");
        cmd.Parameters.AddWithValue("@Value_Effected", "Fields for Value_Effected");
        cmd.Parameters.AddWithValue("@Pre_Burn_Action_Details", "Fields for Pre_Burn_Action_Details");
        cmd.Parameters.AddWithValue("@During_Burn_Action_Details", "Fields for During_Burn_Action_Details");
        cmd.Parameters.AddWithValue("@Post_Burn_Action_Details", "Post_Burn_Action_Details");
        cmd.ExecutedNonQuery();
        conn.Close();
   }

   private void performCommandTwo()
   {
            String commandTwo = "SELECT Burn_ID, Burn_Name, Value_Effected, 
            Pre_Burn_Action_Details, 
            During_Burn_Action_Details, Post_Burn_Action_Details 
            FROM EPFP 
            WHERE ATT='TRUE'";
            this.connectDb();
            cmd = new OleDbCommand(commandTwo,conn);
            cmd.Parameters.AddWithValue("@ATT", "fOR aTT FIELDS");
            dr = cmd.ExcecuteReader();
            if(dr.Read())
            {
                 //Found the value
            }else
            {
                 //values is not exist..
            }
    }

最新更新