将Access表里的数据追加到SQL表里,怎么SQL表自增列有关问题

将Access表里的数据追加到SQL表里,如何SQL表自增列问题
C/C++ code

    sql_1 = "SELECT * FROM Access表;"; // Access表里没有自增列
    OpenQuery(adoquery_2, sql_1); // 封装的执行并Open ADOQuery的函数
    sql_1 = "alter table [mc_dosage_1] drop column ID ; alter table [mc_dosage_1] add ID int identity(1,1)" ;
    // 本想先删除自增字段再加入,但是由于ID为主键不能执行
    SQLEXEC(adoquery_1, sql_1);// 这里是封装的执行SQL语句的函数

    int DBSetCount = 0;
    while(!adoquery_2->Eof)
    {
        sql_1 = "SELECT * FROM SQL表 WHERE [drugId] = " + adoquery_2->FieldList->FieldByName("drugId")->AsString;
        // SELECT * 找不到SQL表中的自增列“ID”
        DBSetCount = OpenQuery(adoquery_1, sql_1);
        if(DBSetCount > 0)
            adoquery_1->Edit();
            // SQL表中存在与Access表中[drugId]相同的记录,修改记录    
        else
            adoquery_1->Append();
            // 否则,追加记录
        for(int i=0; i<adoquery_2->FieldCount; i++)
        {
            AnsiString iFieldName = adoquery_2->FieldList->Fields[i]->FieldName;
            // 这里adoquery_2->FieldList->Fields[0]->FieldName=“drugId”而非“ID”,Why?
            if(adoquery_1->FindField(iFieldName) != NULL)
                adoquery_1->FieldByName(iFieldName)->Value = adoquery_2->FieldByName(iFieldName)->Value;
        }
        adoquery_1->Post();        
        adoquery_2->Next();
    }   


我是用以上语句来将Access表里的数据追加到SQL表中的,但是由于两个标的结构有细微的差异,所以先判断在SQL表中是否存在相应的字段,存在则将该字段的值改写为Acces表对应字段值,不存在则跳过该字段继续寻找下一字段,如此反复,直到Access表中的字段都比较完毕,更新该条记录,就是自增列搞不定啊,谢谢了。。。

------解决方案--------------------
我给你喉以嗓子,呵呵
------解决方案--------------------
喊叫几声