• 对数据库添加数据(21)


    用DataAdapter对数据库增加数据适用于成批量的更改数据,用户在dataset中对数据进行更改后,通过调用dataadapter
    对象的update方法批量的把数据提交给数据库,用command对数据库增加数据适合一次只提交一条数据,当用户需要操作数据,通过调用command对
    象的executenonquery方法来完成单个数据的操作。
    用DataAdapter对数据库增加数据
    下面是把课程信息添加到course中,开始吧课程记录逐个添加到数据集的表中,等所有课程添加完毕后,在利用dataadapter对象成批提交到后台数据库中
    html代码

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="用DataAdapter对数据库增加数据._Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>无标题页</title>
    </head>
    <body>

    <form id="form1" runat="server">
    <div style="text-align: left">
    课程号:   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <br />
    课程名称:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    <br />
                     
    <asp:Button ID="Button1" runat="server" Text="添加" onclick="Button1_Click"
    style="text-align: center" />
    <br />
    <br />
    <asp:Panel ID="Panel1" runat="server" Height="185px" Width="286px">
    <asp:Label ID="Label1" runat="server" Width="167px"></asp:Label>
    <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="保存到数据库"
    Width="93px" />
    <br />
    <asp:DataGrid ID="DataGrid1" runat="server" Width="272px">
    </asp:DataGrid>
    </asp:Panel>

    </div>

    </form>
    </body>
    </html>

    c#代码:

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Data.SqlClient;

    namespace 用DataAdapter对数据库增加数据
    {
    public partial class _Default : System.Web.UI.Page
    {
    static DataSet ds;//声明静态数据集ds
    static SqlDataAdapter da;//声明静态适配器da对象
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!Page.IsPostBack)
    {
    string connctionstring = "Data Source=神舟龙-PC\\SQLEXPRESS;Initial Catalog=student;Integrated Security=True;";//定义连接字符串,用windows登陆
    SqlConnection conn = new SqlConnection(connctionstring);//创建连接对象
    da = new SqlDataAdapter("select * from course",conn);//创建一个da数据适配器
    da.InsertCommand = new SqlCommand("insert into course values(@id,@name)",conn);//向course表中id,和name添加
    da.InsertCommand.Parameters.Add("@id",SqlDbType.Char,5,"id");//定义id列的数据类型及字符数
    da.InsertCommand.Parameters.Add("@name", SqlDbType.VarChar, 20, "name");//定义name列的数据类型及字符数
    conn.Open();//打开数据连接对象
    ds = new DataSet();//定义一个空的数据集
    da.Fill(ds,"course");//把id列和name列添加到数据集中的course表中,映射
    conn.Close();//关闭连接对象
    this.DataGrid1.DataSource = ds.Tables["course"];//把DataGrid1控件的数据源与数据集中的course表绑定。
    this.DataGrid1.DataBind();//绑定
    }
    }
    protected override void OnInit(EventArgs e)
    {
    base.OnInit(e);
    }
    private void InitializeComponent()
    {
    this.Button1.Click+=new EventHandler(this.Button1_Click);
    this.Button2.Click += new EventHandler(this.Button2_Click);
    this.Load+=new EventHandler(this.Page_Load);
    }


    protected void Button1_Click(object sender, EventArgs e)
    {
    DataRow dr=ds.Tables["course"].NewRow();//创建一个新的行
    dr[0] = this.TextBox1.Text;//把用户输入到TextBox1控件中的字符添加到第一列
    dr[1] = this.TextBox2.Text;//把用户输入到TextBox2控件中的字符添加到第二列
    ds.Tables[0].Rows.Add(dr);//通过add方法添加到新的行中
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
    int i = da.Update(ds.Tables["course"]);//通过insertCommand属性对应的insert预计将添加的行数提交到数据库
    Label1.Text = "受影响的数据有" + i.ToString() + "条";//用label现实受影响的行数
    string connectionstring = "Data Source=神舟龙-PC\\SQLEXPRESS;Initial Catalog=student;Integrated Security=True";//定义连接字符串,用windows登陆
    SqlConnection conn = new SqlConnection(connectionstring);//创建连接对象
    SqlDataAdapter da1 = new SqlDataAdapter("select * from course", conn);//创建一个da数据适配器
    conn.Open();//打开连接对象
    DataSet ds1=new DataSet();//创建数据集ds1
    da.Fill(ds1,"course");//填充到ds1的course表
    conn.Close();//关闭连接对象
    this.DataGrid1.DataSource=ds1.Tables["course"];//把数据集中的course表映射到datagrid数据源中
    this.DataGrid1.DataBind();//进行绑定
    }
    }
    }




    用command对数据库增加数据
    html代码:
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="用command增加数据._Default" %>




    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">




    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>用command增加数据</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div style="text-align: center">
       
        &nbsp;课程号:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <br />
            课程名:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <asp:Button ID="Button1" runat="server" Text="添加" onclick="Button1_Click" />
            <br />
            <br />
            <br />
            <asp:Label ID="Label1" runat="server" Width="149px"></asp:Label>
            <br />
        <asp:DataGrid runat="server" ID="DataGrid" Width="216px"></asp:DataGrid>
        </div>
        </form>
    </body>
    </html>







    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="用command增加数据._Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>用command增加数据</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div style="text-align: center">

      课程号:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <br />
    课程名:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    <br />
               
    <asp:Button ID="Button1" runat="server" Text="添加" onclick="Button1_Click" />
    <br />
    <br />
    <br />
    <asp:Label ID="Label1" runat="server" Width="149px"></asp:Label>
    <br />
    <asp:DataGrid runat="server" ID="DataGrid" Width="216px"></asp:DataGrid>
    </div>
    </form>
    </body>
    </html>


    c#代码:
    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Data.SqlClient;

    namespace 用command增加数据
    {
    public partial class _Default : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!Page.IsPostBack)
    {
    databindeng();//自定义的方法
    }
    }
    protected override void OnInit(EventArgs e)
    {
    InitializeComponent();
    base.OnInit(e);
    }

    private void InitializeComponent()
    {
    this.Button1.Click+=new EventHandler(this.Button1_Click);
    this.Load += new EventHandler(this.Page_Load);
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
    string connectionstring = "Data Source=神舟龙-PC\\SQLEXPRESS;Initial Catalog=student;Integrated Security=True;";
    SqlConnection conn = new SqlConnection(connectionstring);
    string insert_sql = "insert into course values('"+TextBox1.Text+"','"+TextBox2.Text+"')";
    SqlCommand comm = new SqlCommand(insert_sql,conn);
    conn.Open();
    int i = comm.ExecuteNonQuery();//通过comm对象的excutenoquery方法,执行SQL语句,并返回受影响的行数
    Label1.Text = "受影响的数据有" + i.ToString() + "条";
    databindeng();//在触发Button控件时,同时把datagrid表显示出来
    }



    private void databindeng()
    {//自定义方法的功能
    string connctionstring = "Data Source=神舟龙-PC\\SQLEXPRESS;Initial Catalog=student;Integrated Security=True;";//windows登陆
    SqlConnection conn = new SqlConnection(connctionstring);
    SqlDataAdapter da = new SqlDataAdapter("select * from course",conn);
    conn.Open();
    DataSet ds = new DataSet();
    da.Fill(ds,"course");
    conn.Close();
    this.DataGrid .DataSource=ds.Tables["course"];
    this.DataGrid.DataBind();

    }


    }
    }

  • 相关阅读:
    数字图像处理学习笔记(1)---位图的读写、几何变换、傅里叶变换、直方图均衡
    【C++】队列的实现
    【C++】一个简单栈的实现
    【Eclipse】Eclipse常用快捷键
    【Android】串口通信
    【Android SDK Manager】Android SDK Manager更新速度慢的一种解决方法
    class-dump 安装使用详解
    ios 给微信开发一个插件并安装到未越狱的手机上教程
    新建的亚马逊云服务器EC2 ping 不通 解决方案
    ubuntu服务器上提示 To run a command as administrator (user "root"), use "sudo <command>". See " 解决方案
  • 原文地址:https://www.cnblogs.com/shenzhoulong/p/1740798.html
Copyright © 2020-2023  润新知