领悟旧事

Learned Helplessness
分类新闻>>技术文章>>
用OleDbDataAdapter对access数据库查询、修改,添加
来源:http://www.xx0594.com/
时间:2017-3-26
作者:  浏览人数:916
一、定义一个类,用来打开数据库(参数指名了数据库文件名):
public static OleDbConnection getConn(String DataName)
        {
            string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\"+DataName+";Persist Security Info=False"; 
            OleDbConnection tempconn = new OleDbConnection(connstr);
            return (tempconn);
        }

二、查询:
        OleDbConnection dbconn=XianShiWen.MyClass.getConn("GuShiWen.mdb"); //数据库连接
            OleDbDataAdapter da;           
            dbconn.Open();
            fengge = "SELECT [id], [timu], [yuanwen], [chaodai], [zuozhe] FROM [poems] where ([fengge] LIKE '%" + sCanShu + "%' ) ";
da = new OleDbDataAdapter(fengge, dbconn);//引用数据库连接dbconn并依据SQL语            
            DataSet ds = new DataSet(); //创建DataSet对象
            da.Fill(ds); //用OleDbDataAdapter对象da填充、更新刚创建的DataSet对象。
             for (int j = 0 ; j < ds.Tables[0].Rows.Count ; j++)
            {
                s_timu = ds.Tables[0].Rows[j]["timu"].ToString();
                s_wen = ds.Tables[0].Rows[j]["yuanwen"].ToString();
                ...
               }//输出所有查询结果。
            dbconn.Close();//关闭数据库。   
 
三、添加
OleDbConnection dbconn = XianShiWen.MyClass.getConn("UserInfo.mdb"); //数据库连接
            OleDbDataAdapter da = new OleDbDataAdapter("Select * from [WebUsers]", dbconn);//引用数据库连接dbconn并依据SQL语                  
            dbconn.Open();
            String insertstr = "INSERT INTO [WebUsers] (IP, ShiJian, Url, BrowserType ) VALUES ('";
            insertstr += “192.168.99.6” + "', '" + DateTime.Now.ToString() + "','" + Request.Url.ToString()+"','" + XianShiWen.MyClass.GetOSVersion() + "/"
                + XianShiWen.MyClass.GetBrowser() + "')";            
            OleDbCommand insertcmd = new OleDbCommand(insertstr, dbconn);
            insertcmd.ExecuteNonQuery();
            dbconn.Close();

四、修改
        /// <summary>
        /// 功能:修改诗经的题目,在原来题目加上“风雅颂”。如将“关雎”更新为“关雎·国风·周南”。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button3_Click(object sender, EventArgs e)
        {
            String[] M = new String[] {"国风·周南=关雎葛覃卷耳樛木螽斯桃夭兔罝芣苡汉广汝坟麟之趾",
                "国风·召南=鹊巢采蘩草虫采蘋甘棠行露羔羊殷其雷摽有梅小星江有汜野有死麕何彼襛矣驺虞",
                "国风·邶风=柏舟绿衣燕燕日月终风击鼓凯风雄雉匏有苦叶谷风式微旄丘简兮泉水北门北风静女新台二子乘舟",
                "国风·鄘风=柏舟墙有茨君子偕老桑中鹑之奔奔定之方中蝃蝀相鼠干旄载驰",
                "国风·卫风=淇奥考槃硕人氓竹竿芄兰河广伯兮有狐木瓜",
                "国风·王风=黍离君子于役君子阳阳扬之水中谷有蓷兔爰葛藟采葛大车丘中有麻",
                "国风·郑风=缁衣将仲子叔于田大叔于田清人羔裘遵大路女曰鸡鸣有女同车山有扶苏萚兮狡童褰裳丰东门之墠风雨子衿扬之水出其东门野有蔓草溱洧",
                "国风·齐风=鸡鸣还著东方之日东方未明南山甫田卢令敝笱载驱猗嗟",
                "国风·魏风=葛屦汾沮洳园有桃陟岵十亩之间伐檀硕鼠",
                "国风·唐风=蟋蟀山有枢扬之水椒聊绸缪杕杜羔裘鸨羽无衣有杕之杜葛生采苓",
                "国风·秦风=车邻驷驖小戎蒹葭终南黄鸟晨风无衣渭阳权舆",
                "国风·陈风=宛丘东门之枌衡门东门之池东门之杨墓门防有鹊巢月出株林泽陂",
                "国风·桧风=桧风·羔裘素冠隰有苌楚匪风",
                "国风·曹风=蜉蝣候人鳲鸠下泉",
                "国风·豳风=七月鸱鸮东山破斧伐柯九罭狼跋",
                "小雅·鹿鸣之什=鹿鸣四牡皇皇者华常棣伐木天保采薇出车小雅·杕杜鱼丽南陔(今佚)白华(今佚)华黍(今佚)",
                "小雅·南有嘉鱼之什=南有嘉鱼南山有台由庚(今佚)崇丘(今佚)由仪(今佚)蓼萧湛露彤弓菁菁者莪六月采芑车攻吉日",
                "小雅·鸿雁之什=鸿雁庭燎沔水鹤鸣祈父白驹小黄鸟我行其野斯干无羊",
                "小雅·节南山之什=节南山正月十月之交雨无正小旻小宛小弁巧言何人斯巷伯",
                "小雅·谷风之什=谷风蓼莪大东四月北山无将大车小明鼓钟楚茨信南山",
                "小雅·甫田之什=甫田大田瞻彼洛矣裳裳者华桑扈鸳鸯頍弁车舝青蝇宾之初筵",
                "小雅·鱼藻之什=鱼藻采菽角弓菀柳都人士采绿黍苗隰桑白华绵蛮瓠叶渐渐之石苕之华何草不黄",
                "大雅·文王之什=文王大明绵棫朴旱麓思齐皇矣灵台下武文王有声",
                "大雅·生民之什=生民行苇既醉凫鹥假乐公刘泂酌卷阿民劳板",
                "大雅·荡之什=荡抑桑柔云汉崧高烝民韩奕江汉常武瞻卬召旻",
                "周颂·清庙之什=清庙维天之命维清烈文天作昊天有成命我将时迈执竞思文",
                "周颂·臣工之什=臣工噫嘻振鹭丰年有瞽潜雝载见有客武",
                "周颂·闵予小子之什=闵予小子访落敬之小毖载芟良耜丝衣酌桓赉般",
                "鲁颂·駉之什=駉有駜泮水閟宫","商颂=那烈祖玄鸟长发殷武"};
            
            OleDbConnection dbconn = XianShiWen.MyClass.getConn("GuShiWen.mdb"); //数据库连接
            OleDbDataAdapter da;
            String timu,s1;
            String[] S ;
            dbconn.Open();//打开数据库。
            da = new OleDbDataAdapter("Select ID, timu from [poems] where ( [ID] < 306 )", dbconn);//根据条件进行查询。
            DataSet ds = new DataSet(); //创建DataSet对象
            da.Fill(ds); //用OleDbDataAdapter对象da填充、更新刚创建的DataSet对象。
            for(int i=0;i<ds.Tables[0].Rows.Count ;i++)//在查询的条件结果中进行更新(修改)。
            {
                timu = ds.Tables[0].Rows[i]["timu"].ToString();//保存原来的题目,用来进行提示。
                for(int j=0;j<M.Length;j++)//定义的字符串,根据题目,添加“风雅颂”
                {
                    if (M[j].Contains(timu)) 
                    {
                        S = M[j].Split('=');
                        s1 = ds.Tables[0].Rows[i]["timu"].ToString();
                        timu = timu + "·" + S[0];
                        OleDbDataAdapter da2;
                        string str = "Select * from [poems] where ([ID] =" + ds.Tables[0].Rows[i]["ID"].ToString()+")";
                        da2 = new OleDbDataAdapter(str, dbconn);//引用数据库连接dbconn并依据SQL语   
                        da2.SelectCommand = new OleDbCommand(str, dbconn);
                        DataSet ds2 = new DataSet(); //创建DataSet对象
                        OleDbCommandBuilder cb = new OleDbCommandBuilder(da2);
                        da2.Fill(ds2, "timu");
                        ds2.Tables["timu"].Rows[0][1] = timu;
                        da2.Update(ds2.Tables["timu"]);
                        Response.Write("更新记录:" + ds.Tables[0].Rows[i]["ID"].ToString() + ":" + s1 + " ==>" + timu + "
");
                    }
                }
            }
            dbconn.Close();           
        }
    }
 
 
 

关闭窗口
 访问量:507981
任何第三方若要引用、转摘本站信息,均需征得本站书面同意,否则视为侵权。本站信息为个人观点,若因引用本站信息而产生的任何情况,均与本站无关。Email:linmutou@163.com
闽ICP备14017840号-2