就是在datagridview显示的数据下面直接输入数据,但是这些数据没有跟新到数据库中,要怎么将数据跟新到数据库中(我是吧数据库获取的数据放在datatable中,然后datagridview绑定的datatable)

解决方案 »

  1.   

     怎么绑的无所谓、但是你绑了以后 GridView1.DataBind();没有<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %>
     
     <!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 align="center">
         
             <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                 CellPadding="4" ForeColor="#333333" GridLines="None" Height="285px" 
                 onrowcancelingedit="GridView1_RowCancelingEdit" 
                 onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing" 
                 onrowupdating="GridView1_RowUpdating" Width="771px">
                 <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                 <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                 <Columns>
                     <asp:BoundField DataField="id" HeaderText="学号" />
                     <asp:BoundField DataField="name" HeaderText="姓名" />
                     <asp:BoundField DataField="sex" HeaderText="性别" />
                     <asp:BoundField DataField="age" HeaderText="年龄" />
                     <asp:BoundField DataField="department" HeaderText="专业" />
                     <asp:BoundField DataField="grade" HeaderText="班级" />
                     <asp:CommandField HeaderText="编辑 " ShowEditButton="True" />
                     <asp:CommandField HeaderText="选择" ShowSelectButton="True" />
                     <asp:TemplateField HeaderText="删除 " ShowHeader="False">
                         <ItemTemplate>
                             <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" 
                                 CommandName="Delete" Text="删除" OnClientClick="return confirm('你确定要删除吗?')"></asp:LinkButton>
                         </ItemTemplate>
                     </asp:TemplateField>
                 </Columns>
                 <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                 <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                 <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                 <EditRowStyle BackColor="#999999" />
                 <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
             </asp:GridView>
         
         </div>
         </form>
     </body>
     </html>
     后台代码:
     using System;
     using System.Collections;
     using System.Configuration;
     using System.Data;
     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.Data.SqlClient;
     
     public partial class Default5 : System.Web.UI.Page
      {
         protected void Page_Load(object sender, EventArgs e)
          {
             if (!IsPostBack)
              {
                 Bind();
             }
         }
     
         private void Bind()
          {
             SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Personal"].ConnectionString);
             SqlDataAdapter adq = new SqlDataAdapter("select * from information", conn);
             DataSet dataset=new DataSet();
             adq.Fill(dataset,"information");
             GridView1.DataSource=dataset;
              GridView1.DataKeyNames=new String[]{"id"};
             GridView1.DataBind();
         }
         protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
          {
             GridView1.EditIndex = e.NewEditIndex;
             Bind();
         }
         protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
          {
             SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Personal"].ConnectionString);
             SqlCommand comm = new SqlCommand("delete from information where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'",conn);
             conn.Open();
             try
              {
                 int i = Convert.ToInt32(comm.ExecuteNonQuery());
                 if (i > 0)
                  {
                     Response.Write("<script language=javascript>alert('删除成功!')</script>");
                 }
                 else
                  {
                     Response.Write("<script language=javascript>alert('删除失败!')</script>");
                 }
                 Bind();
             }
             catch (Exception erro)
              {
                 Response.Write("错误信息:"+erro.Message);
             }
             finally
              {
                 conn.Close();
             }
         }
         protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
          {
             string id = ((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text.ToString().Trim();
             string name = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text.ToString().Trim();
             string sex = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString().Trim();
             string age= ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text.ToString().Trim();
             string department = ((TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text.ToString().Trim();
             string grade = ((TextBox)GridView1.Rows[e.RowIndex].Cells[5].Controls[0]).Text.ToString().Trim();
             SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Personal"].ConnectionString);
             SqlCommand comm = new SqlCommand("update information set id='"+id+"', name='"+name+"' , sex='"+sex+"' , age='"+age+"' , department='"+department+"' , grade='"+grade+"' where id='"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'", conn);
             conn.Open();
             try
              {
                 int i = Convert.ToInt32(comm.ExecuteNonQuery());
                 if (i > 0)
                  {
                     Response.Write("<script language=javascript>alert('保存成功!')</script>");
                 }
                 else
                  {
                     Response.Write("<script language=javascript>alert('保存失败!')</script>");
                 }
                 GridView1.EditIndex = -1;
                 Bind();
             }
             catch (Exception erro)
              {
                 Response.Write("错误信息:" + erro.Message);
             }
             finally
              {
                 conn.Close();
             }
         }
         protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
          {
             GridView1.EditIndex = -1;
             Bind();
         }
     }
     
      

  2.   

    没有更新到数据库中。是你sql语句错了,你断点调试下数据库没有你输入的数据,说明你插入sql没有成功, 跟程序没关系, 
      

  3.   

    LZ 参考或百度数据源适配器SqlDataAdapter ~~~~~~  datatable dt=new datatable();
      SqlCommand myCommand = new SqlCommand("select * from financetable", conn);   
      SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand );   
      SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);   
      myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();
      myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();
      myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();
      try
    {
      conn.Open();
      myAdapter.Fill(dt);
      conn.Close();    
      datagridview1.datasource=dt;
    }
    catch(Exception err)
    {
      err.ToString();
      conn.Close();  
    }
    数据在更改后,点击保存按钮时用以下代码..
      myAdapter.Update(dt);  //更新数据库