我已经生成了一个 string 里面是一条insert 或者 update  语句。 我现在想执行他,以改写数据库,应该如何操作?我新学c#,这个问题很菜的吧

解决方案 »

  1.   

    1.创建类datasource.cs
    2.加入SQL命名空间(可以使用SQL数据库语句):using System.Data.SqlClient
    3.类中申明对象:(string)ConnString 连接字符串、(SqlConnection)SqlConn 连接SQL数据库、(SqlCommand)SqlCmd 调用SQL语句的方式 、(SqlDataAdapter)SqlAdapter 连接SQL数据适配器、(DataSet)ds 建立数据集、(SqlDataReader)SqlReader 读取数据库。
    4.在构造函数中初始化实例对象:
    public datasource()
    {
            ConnString = ConfigurationManager.ConnectionStrings["某数据源"].ConnectionString;
            SqlConn = new SqlConnection(ConnString);
            SqlCmd = new SqlCommand();
            SqlAdpter = new SqlDataAdapter();
            ds = new DataSet();
    }
    5.创建一些数据集和数据库SQL操作的方法
    (1)创建一个内存数据集,使用传入的SQL查询语句参数
    public DataSet Tds(string QueryString)
    {
    SqlAdpter.SelectCommand = new SqlCommand(QueryString, SqlConn);
    SqlAdpter.Fill(ds, "temp");   //temp是一个内存数据表
    return ds;
    }
    (2)创建一个内存数据集,不使用任何参数。
    public DataSet Tds()
    {
    SqlAdpter.SelectCommand = new SqlCommand("select * from abc", SqlConn);  //使用SQL语句来代替这个参数
    SqlAdpter.Fill(ds,"temp");   //temp是一个内存数据表
    return ds;
    }
    (3)返回一个只读的轻量级数据源,注意,它不支持服务端的分页,而且需要数据连接必须一直打开
    public SqlDataReader Tsdr()
        {
            SqlCmd.CommandText = "select * from abc"; //SqlCommand属性CommandText是一条SQL语句
            SqlCmd.Connection = SqlConn;  //SqlCommand属性Connection 就是sql的连接语句
            SqlConn.Open();  
            SqlReader = SqlCmd.ExecuteReader(CommandBehavior.CloseConnection); //当数据读取随着数据连接的关闭而关闭
            return SqlReader;
        }
    (4)SQL更新语句:
    public void Update(string 字段id, string 字段1, string 字段2...string 字段N)
        {  
            SqlCmd.CommandText = "update 数据表 set [字段名1]=@字段名1,[字段名2]='" + 字段2 + "',..,[字段名N]='" + 字段N + "'  where [字段id]='" + 字段id + "'";
          // SqlCmd.Parameters.AddWithValue("@lname", au_lname);  更新的字段可以有单引号
            SqlCmd.Connection = SqlConn;   //连接
            SqlConn.Open();                //打开
            SqlCmd.ExecuteNonQuery();      //执行
        }
     
    (5)SQL删除语句:(用法如上)
    public void Delete(string 字段id)
        { 
            SqlCmd.CommandText = "delete from [abc] where [字段id]='"+字段id+"'";
            SqlCmd.Connection = SqlConn;
            SqlConn.Open();
            SqlCmd.ExecuteNonQuery();
        }
     6.新建一个aspx页面:加入一个GridView表
    (1)在配置文件(web.config)中,加入下面一段话:
    <connectionStrings>
      <add name="某数据源" connectionString="Data Source=.;Initial Catalog=数据库名;Persist Security Info=True;User ID=sa;Password=***"  providerName="System.Data.SqlClient" />
     </connectionStrings>
     
    (2)为GridView新建数据源:对象 ->业务对象datasource->select\delete\update\insert 调用相关对象的方法->设置参数sql查询语句,比如select * from abc.
    分页设置(属性分页中AllowPage 是否分页?、Pagesize 分页页数。属性行为中的EnableSortingAndPagingCallbacks 是否分页回传)