数据库连接与基本操作

来源:互联网 发布:java开发用什么笔记本 编辑:程序博客网 时间:2024/05/20 13:19

一、数据库连接

1、DBF数据库
小型应用使用DBF库其实挺方便的,特别是后台VFP中对数据库的操作简单容易。
//需要安装VFP,XP/WIN2000下还需替换操作系统的VFPODBC.DLL,否则可能不能正常连接。
//引用中先添加
using System.Data.Odbc;

//连接串,数据库放在data目录下
string strCon="Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB="+Server.MapPath("data")+";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
//连接
 OdbcConnection sqlcon=new OdbcConnection(strCon);
//执行SQL,查询出满足条件的记录
 OdbcCommand objCommand = new OdbcCommand("select * from admin.dbf where recn()=3",sqlcon);
//打开
sqlcon.Open();

//关闭
sqlcon.Close();

2、SQL数据库
//引用中先添加
using System.Data.SqlClient;

//连接串,wjml是一个数据库,用户sa,无密码
  string strCon = "Data Source=(local);Database=wjml;Uid=sa;Pwd=";


二、基本操作
   先定义连接串strCon、sql语句sqlstr,建立连接sqlcon后。
1、单条记录处理
//读出,放在打开数据库后
OdbcDataReader MyDataReader   = objCommand.ExecuteReader();

MyDataReader.Read();

//赋值给TextBox控件Input1
Input1.Text = MyDataReader["帐号"].ToString();

//数据更新修改语句

OdbcCommand sqlcom=new OdbcCommand("UPDATE admin SET 帐号='33333'  where recn()=3",sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery(); //执行更新
sqlcon.Close();

2、建立记录集
//放在建立连接的语句后
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
DataSet myds = new DataSet();
myda.Fill(myds,"表名");
3、遍历记录集

DataTable dt=ds.Tables[0];
//遍历行
 
for(int i=0;i<dt.Rows.Count;i++)
{
 str1=dt.Rows[i][3].ToString().Trim();//取i行第3列值,一般要注意要去空格

}

4、更新、删除SQL语句
//更新
 string sqlstr = "UPDATE swjml SET 拟办意见='"+txt1.Text+"',阅办时限='"+ybsx+"',总经理意见='"+txt3.Text+"',市场副总='"+txt4.Text+"',计网副总='"+txt5.Text+"',综合部='"+txt6.Text+"',市场部='"+txt7.Text+"',计网部='"+txt8.Text+ "',财务部='"+txt9.Text+"',营销中心='"+txt10.Text+ "' where 文件名='" + strid + "'" ;
//删除
string sqlstr = "delete from wjml where 文件名='" + wjm + "'";
//执行
 SqlCommand  sqlcom = new SqlCommand(sqlstr,sqlcon);
 sqlcom.ExecuteNonQuery();

5、绑定到GRIDVIEW
     void bind()
    {
        string sqlstr = "select * from wjml  order by 发文时间  DESC";
        SqlConnection sqlcon = new SqlConnection(strCon);
        SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
        DataSet myds = new DataSet();
       
        myda.Fill(myds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "wjml");   
       //上句用到了分页控件,普通写法:myda.Fill(myds,"表名");          

        GridView1.DataSource = myds;
        GridView1.DataKeyNames = new string[] { "文件名" }; //关键字
        GridView1.DataBind();
    }