• 数据库技术(con(sql,Oracle),com,parmter,DataTable,prc


                                      8 数据库技术(CSJ_0808)

    1 连接SQL Server数据库示例
       <configuration>
      <appSettings>
        <add key="ConnectionSqlServer" value="Server=(local);User id=sa;Pwd=sa;Database=Northwind"></add>
      </appSettings>
          ------------------------------------------------
       // 连接字符串
        string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"];

        // 创建SqlConnection对象
        SqlConnection connection = new SqlConnection(ConnectionString); 
      
        try
        {
         // 打开数据库连接
         connection.Open();         
         myLabel.Text = "连接数据库成功";
        }
        catch
        {
         myLabel.Text = "连接数据库失败";
        }
        finally
        {
         // 关闭数据库连接
         connection.Close();         
        }
    ---------------------------------------------------------------
    2 连接ACCESS数据库示例
    // 连接到 ACCESS 的连接字符串
     string ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data source=" + Server.MapPath("grocertogo.mdb");
    // 使用OleDb .NET数据提供程序创建连接
    OleDbConnection oleConnection = new OleDbConnection(ConnStr);
    oleConnection.Open();
    // 显示连接成功信息
    myLabel.Text = "Access数据库连接状态:" + oleConnection.State;
    --------------------------------------------------------------------
    3 连接到 Oracle 数据库示例
      // 连接字符串
     string ORACLE_ConnStr = "Data Source=Oracle8i;Integrated Security=yes";
     // 创建 OracleConnection 对象
     OracleConnection oConnection = new OracleConnection(ORACLE_ConnStr);

        try
        {
         oConnection.Open();
         myLabel.Text = "连接到 Oracle 数据库";
        }
        catch(Exception ex)
        {
         myLabel.Text = ex.ToString();
        }
        finally
        {
         oConnection.Close();
        }
    ------------------------------------------------------------------------
    4 使用 SqlCommand 执行SQL命令示例
       // 连接字符串
    string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"];
        // 创建SqlConnection对象
        // 创建Command对象
        SqlConnection thisConnection = new SqlConnection(ConnStr);
        SqlCommand thisCommand = new SqlCommand();
        // 关联Connection对象
        // 赋值SQL语句到CommandText属性
        // 指定命令类型是Sql语句
        thisCommand.Connection = thisConnection;
        thisCommand.CommandText = "SELECT COUNT(*) FROM Employees";
        thisCommand.CommandType = CommandType.Text;
        try
        {
        // 打开数据库连接
         thisCommand.Connection.Open();

         // 获取查询结果
        myLabel.Text = thisCommand.ExecuteScalar().ToString();
        }
        catch(SqlException ex)
        {
        // 如果出现异常,在Label标签中显示异常信息
        myLabel.Text = ex.ToString();
        }
        finally
        {
         // 关闭数据库连接
         thisCommand.Connection.Close();
        }
    -------------------------------------------------------------------------------
    5 使用 SqlDataReader 读取数据示例  (快速的只向前读一次,快)
      SqlCommand thisCommand = new SqlCommand(Sql, thisConnection);
      thisCommand.CommandType = CommandType.Text;
      thisCommand.Connection.Open();
      SqlDataReader dr = thisCommand.ExecuteReader();
     myLabel.Text = "<b>LastName FirstName</b><br>";
       // 循环读取结果集
      while(dr.Read())
      {
      // 读取两个列值并输出到Label中
       myLabel.Text += dr["LastName"] + " " + dr["FirstName"] + "<br>";
      }
      // 关闭DataReader
      dr.Close();
    ------------------------------------------------------------------------- OS_SOURCE Source
    6 使用DataAdapter填充数据到DataSet示例
      SqlDataAdapter adapter = new SqlDataAdapter(Sql, thisConnection);
        DataSet data = new DataSet();
        adapter.Fill(data);
        myDataGrid.DataSource = data;
        myDataGrid.DataBind();
    -------------------------------------------------------------------------
    7 使用DataTable存储数据库表内容的示例
     DataTable table = new DataTable();        //表
     // 填充数据到DataTable
      adapter.Fill(table);
     // 将DataTable绑定到DataGrid控件
      myDataGrid.DataSource = table;
      myDataGrid.DataBind();
    -------------------------------------------------------------------------
    8 使用DataTable进行检索和排序示例
       adapter.Fill(table);
    // 定义筛选条件字符串和排序字符串
     string strExpr = "Country = 'USA'";
     string strSort = "CompanyName DESC";
    // 获得经过筛选和排序后的数据
        DataRow [] rows = table.Select(strExpr, strSort);
    // 检查返回数据是否为空
        if(rows.Length <= 0)
        {
         label.Text = "没有数据";
         return;
        }
               ------------------------------------------
                             label.Text = "";
          // 遍历DataRow数组的行和列,显示数据
     label.Text += "<Table border='1'>";
     label.Text += "<TR><TH>CustomerID</TH><TH>CompanyName</TH><TH>Country</TH></TR>";
     foreach(DataRow row in rows)
      {
       label.Text += "<TR>";
       for(int i=0; i<row.Table.Columns.Count; i++)
       {
        label.Text += "<TD>";
        label.Text += row[i];  //每一行里都有数据
        label.Text += "</TD>";
       }
       label.Text += "</TR>";
      }
     label.Text += "</Table>";2007EMMS
    ------------------------------------------------------------------------
    9 使用DataView对数据进行排序和检索示例
    // 填充数据到DataTable
       adapter.Fill(table);
    // 创建DataView,并在构造函数中得到排序和检索条件等参数
       DataView dataView = new DataView(table, "Country='USA'", "CompanyName DESC", DataViewRowState.CurrentRows);
    // 数据绑定
      myDataGrid.DataSource = dataView;
      myDataGrid.DataBind();
    ---------------------------------------------------------------------------
    10 使用DataRelation类创建关系并利用父/子关系读取数据示例
     string ConnString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"];
        string Sql = "SELECT * FROM Customers; SELECT * FROM Orders";

        // 创建 Connection 和 DataAdapter 对象
        SqlConnection myConn = new SqlConnection(ConnString);
        SqlDataAdapter sqlAdapter = new SqlDataAdapter(Sql, myConn);

        // 填充数据
        DataSet dataSet = new DataSet();
        sqlAdapter.Fill(dataSet, "Table");

        // 命名表名
        dataSet.Tables[0].TableName = "Customers";
        dataSet.Tables[1].TableName = "Orders";
       
        // 创建 Customers 和 Orders 的父/子表关系
    dataSet.Relations.Add("CustomersOrders", dataSet.Tables["Customers"].Columns["CustomerID"],
         dataSet.Tables["Orders"].Columns["CustomerID"]);

        // 使用 GetChildRows() 方法遍历子行
        foreach(DataRow custRow in dataSet.Tables["Customers"].Rows)
        {
    myLabel.Text += "<b>Parent Row: " + custRow["CustomerID"] + "&nbsp;&nbsp;" + custRow["CompanyName"] + "</b><br>";
       myLabel.Text += "Child Row: <br>";
         foreach(DataRow orderRow in custRow.GetChildRows("CustomersOrders"))
         {
    myLabel.Text += "&nbsp;&nbsp;&nbsp;&nbsp; " + orderRow["OrderID"] + "&nbsp;&nbsp;" + orderRow["EmployeeID"] + "<br>";
         }
        }
    -------------------------------------------------------------------------------------------
    11 数据库异常处理示例
                catch(SqlException ex)
      {
       // 异常信息显示
       myLabel.Text = "<b>数据库执行错误</b><br>";
       myLabel.Text += "错误信息:" + ex.Source + "<br>";
       myLabel.Text += "错误行号:" + ex.LineNumber +"行<br>";
       myLabel.Text += "详细信息:" + ex.Message + "<br>";
      }
    ----------------------------------------------------------------------------------------
    12 将数据库数据填充到 XML 文件示例
       // 创建 DataSet 对象
        DataSet data = new DataSet();
       // 填充 DataSet
       adapter.Fill(data, "Customers");
       // 将 DataSet 数据其及架构填充到 Xml 文件
       data.WriteXml(Server.MapPath(".") + "\\myXml.xml", XmlWriteMode.WriteSchema);
    ----------------------------------------------------------------------------
    13 使用ConfigurationSettings.AppSettings属性读取自定义配置节示例
      string ConnString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"];
       <appSettings>
        <add key="ConnectionSqlServer" value="Server=(local);User id=sa;Pwd=sa;Database=Northwind"></add>
      </appSettings>
    -----------------------------------------------
    14 在 ASP.NET 使用存储过程示例
       myCommand.Connection = myConn;
     // 指定要执行的存储过程名称
     myCommand.CommandText = "CustomersProc";
     // 使用要执行的是存储过程
     myCommand.CommandType = CommandType.StoredProcedure;
           // 创建DataAdapter对象填充数据
     DataSet myDS = new DataSet();
     SqlDataAdapter adapter = new SqlDataAdapter(myCommand);
     adapter.Fill(myDS, "Customers");
    15使用带输入参数的存储过程示例
      // 指定要调用的存储过程名称 "Customer_Select"
     // 指定SqlCommand对象的命令类型为 "StoredProcedure"枚举值
     myCommand.CommandText = "Customer_Select";
     myCommand.CommandType = CommandType.StoredProcedure;
     // 创建SqlParameter对象,指定参数名称、数据类型、长度及参数值
     SqlParameter para = new SqlParameter("@country", SqlDbType.NVarChar, 15);
     para.Value = DropDownList1.SelectedValue;
     myCommand.Parameters.Add(para);
     // 关联SqlDataAdapter与SqlCommand对象
     myAdapter.SelectCommand = myCommand;
    ------------------------------------------------------------
    16 使用带输入、输出参数的存储过程示例
    // 指定要执行的命令为存储过程
     myCommand.CommandType = CommandType.StoredProcedure;
    // 增加输入参数并赋值
     myCommand.Parameters.Add("@TitleOfCourtesy", SqlDbType.NVarChar, 20);
     myCommand.Parameters["@TitleOfCourtesy"].Value = myDropDownList.SelectedItem.Text;
     myCommand.Parameters["@TitleOfCourtesy"].Direction = ParameterDirection.Input;
    // 增加输出参数
     myCommand.Parameters.Add("@empCount", SqlDbType.Int);
     myCommand.Parameters["@empCount"].Direction = ParameterDirection.Output;
    // 创建 DataAdapter 对象填充数据
     DataSet myDS = new DataSet();
     SqlDataAdapter adapter = new SqlDataAdapter(myCommand);
     adapter.Fill(myDS, "Customers");
    // 使用 Label 控件显示输出参数的输出值
     rtnLabel.Text = myCommand.Parameters["@empCount"].Value.ToString();
    // 将返回的数据和 DataGrid 绑定显示
     myDataGrid.DataSource = myDS.Tables["Customers"];
     myDataGrid.DataBind();
    -------------------------------------------------------
    17 获得插入记录标识号的示例
       // 创建插入SQL语句及调用@@identity函数返回标识值
      string insert_query = "insert into Categories (CategoryName,Description) values ('IT', 'Internet');"
      + "SELECT @@identity AS 'identity';";
    -------------------------------------------------------
    18 如何读取Excel表格中的数据
       void SubmitBtn_Click(object sender, System.EventArgs e)
       { 
     // 获取Excep文件的完整路径
     string source = File1.Value;
    string ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + source + ";Extended Properties=Excel 8.0";
    string query = "SELECT * FROM [Sheet1$]";
       OleDbCommand oleCommand = new OleDbCommand(query, new OleDbConnection(ConnStr));
       OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);
       DataSet myDataSet = new DataSet();
       // 将 Excel 的[Sheet1]表内容填充到 DataSet 对象
       oleAdapter.Fill(myDataSet, "[Sheet1$]");
       // 数据绑定
       DataGrid1.DataSource = myDataSet;
       DataGrid1.DataMember = "[Sheet1$]";
       DataGrid1.DataBind();
      }
    ------------------------------------------------------

     

  • 相关阅读:
    解决 SQL Server Profiler 跟踪[不断]出现检索数据
    Linq表达式开窍
    CSS3——动画效果
    MongoDB学习与BUG解答
    MongoDB 客户端 MongoVue
    Memcached——分布式缓存
    WRONGTYPE Operation against a key holding the wrong kind of value
    Redis——分布式简单使用
    HTML5——播放器
    HTML5——行走日记
  • 原文地址:https://www.cnblogs.com/csj007523/p/1260734.html
Copyright © 2020-2023  润新知