当前位置:编程学习 > C#/ASP.NET >>

关于在数据库表中插入数据的问题,具体内详

我有两个数据库,都是SQLSERVER2008的,现在有个问题,一个是旧库,一个新库,我要将旧库中某一张表中的数据,插入到新库中同名表中,要求是写一个页面,页面上放一个按钮,点击按钮后,就可以把旧库中表中的数据插入到新库表中,数据不可以重复,但是现在有个问题,当我在旧库中新插入一条数据口,再点击按钮,就不可以往新表中插入数据了,因为数据不能重复,代码如下,我就是想要实现当旧库中插入新的数据后,我点击按钮,就可以直接把新加的数据插入到新表中,我的代码中要加些什么呢?求大神帮忙~


public partial class Move : System.Web.UI.Page
{
    protected static string oldconnstr = "server=.;database=sql_chahaer_web;uid=sa;pwd=ok;connection lifetime=5;min pool size=1 ;max pool size=10000;";
    protected static string newconnstr = "server=.;database=sql_chahaer_qikan;uid=sa;pwd=ok;connection lifetime=5;min pool size=1 ;max pool size=10000;";


    protected void Page_Load(object sender, EventArgs e)
    {
    }


    protected void Button3_Click(object sender, EventArgs e)
    {
        //读取旧数据
        DataSet dataSet = new DataSet();
        string query = "select * from EIS_TECH_INFO";
        SqlDataAdapter Adapter = new SqlDataAdapter(query, oldconnstr);
        Adapter.Fill(dataSet, "userinfo");


        //读取新表中的数据
        DataControl DCL = new DataControl();
        DataTable newdataTable = new DataTable();
        string newquery = "select code,name,depart,nick,pass,flag,jurisdiction,usertype from EIS_TECH_INFO";

        SqlDataAdapter sqlDA1 = new SqlDataAdapter(newquery, newconnstr);

        SqlCommandBuilder sqlCB1 = new SqlCommandBuilder(sqlDA1);

        sqlDA1.Fill(newdataTable);



        int i = 0;
        foreach (DataRow olddataRow in dataSet.Tables["userinfo"].Rows)
        {
            DataRow newdataRow = newdataTable.NewRow();


            newdataRow["code"] = olddataRow["code"];
            newdataRow["name"] = olddataRow["name"];
            newdataRow["depart"] = "6";//统一归属信息中心
            newdataRow["nick"] = olddataRow["nick"];
            newdataRow["pass"] = olddataRow["pass"];
            newdataRow["usertype"] = "30";

            newdataRow["jurisdiction"] = "";
            newdataRow["flag"] = "20";


            newdataTable.Rows.Add(newdataRow);
            i = i + 1;
        }

        try
        {
            sqlDA1.Update(newdataTable);
            Response.Write("<script>alert('恭喜,成功导入 " + i + " 条记录!');</script>");

        }
        catch (Exception ex)
        {
            Response.Write("<script>alert('请确认姓名是否在系统中已存在!')</script>");
        }

    }
}
--------------------编程问答-------------------- 你可以用存贮过程 或者触发器来实现,可以跨库访问的. --------------------编程问答-------------------- 不是访问数据库的问题,我的代码中已经可以实现将旧表中数据插入新表了,并且保证不重复,但是当我在旧表中添加新的数据时,就不可以再插入新表了,因为一直提示的是前面插入的数据中有重复的了
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,