string a, b, c;        public Form1()
        {
            InitializeComponent();
        }        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            a = textBox1.Text;
        }        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            b = textBox2.Text;
        }        private void textBox3_TextChanged(object sender, EventArgs e)
        {
            c = textBox3.Text;
        }        private void button1_Click(object sender, EventArgs e)
        {
            if (a != null && b != null && c != null)
            {                //listView1.Items.Clear();
                SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=view;User ID=sa;Pwd=666666");
                //连接口
                {
                    try
                    {
                        conn.Open();          //打开连接   
                        MessageBox.Show("已正确建立连接", "连接正确对话框");
                    }
                    catch (SqlException Sqle)
                    {
                        MessageBox.Show(Sqle.Message, "连接失败对话框");
                        return;
                    }                    string strCom = "Insert into vell (ID,name,nianling) Values('" + a + "','" + b + "','" + c + "')";//插入数据                    SqlCommand MyCom = new SqlCommand();     //创建 Command 对象
                    MyCom.Connection = conn;    //通过 MyCon 连接对象操作数据库
                    //MyCom.CommandType = CommandType.Text; //设置命令类型  
                    MyCom.CommandText = strCom;     //设置要执行的命
                    MyCom.ExecuteNonQuery(); //执n行命令 
                    string strCom1 = " select * from vell ";
                    SqlCommand cmd = new SqlCommand(strCom1, conn);
                    this.listView1.Columns.Add("ID", 80, HorizontalAlignment.Center);
                    this.listView1.Columns.Add("name", 80, HorizontalAlignment.Center);
                    this.listView1.Columns.Add("nianling", 80, HorizontalAlignment.Center);
                    listView1.View = View.Details;
                    //listView1.GridLines = true;
                    SqlDataReader dr = cmd.ExecuteReader();//定义局部变量dr.
                    while (dr.Read())
                    {
                        ListViewItem Item = new ListViewItem();
                        Item.SubItems.Clear();
                        Item.SubItems[0].Text = dr["ID"].ToString();
                        ListViewItem.ListViewSubItem subItem1 = new ListViewItem.ListViewSubItem(Item, dr["name"].ToString());
                        ListViewItem.ListViewSubItem subItem2 = new ListViewItem.ListViewSubItem(Item, dr["nianling"].ToString());
                        Item.SubItems.Add(subItem1);
                        Item.SubItems.Add(subItem2);
                        listView1.Items.Add(Item);//显示 格式3                      } conn.Close();
                }
            }
            else
                MessageBox.Show("输入错误请重新输入。");
        }        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
        }
问题:
1.在插入内容后可以正常显示了,但是在第二次插入后,就会把上次的显示再重复显示一遍连定义的ID和name,nianling,也会重复显示,很郁闷。
2。想问下在做数据库内容修改时候,应该用什么去做,我的想法是按ID进行为主键,要删除ID,其它的列旧可以删除了,有朋友介绍用GridView控件去做。。我也操作了下觉得很方便,比listview方便多了(显示和插入),可是有难度才有进步嘛求教下怎么做删除用什么控件好点。恩最好有个示例借鉴下。。或者实例。
我知道直接贴代码是很不好的。。谢谢大家帮忙,,。。新手。。会加油的 、

解决方案 »

  1.   


    protected void Delete_Click(object sender, EventArgs e)
            {            LinkButton button = sender as LinkButton;
                if (DeleteMem(button.CommandArgument))
                {
                   //绑定数据在这里
                    ((Label)this.Master.FindControl("ErrorMessage")).Text = "删除成功";
                }
                else
                {
                    ((Label)this.Master.FindControl("ErrorMessage")).Text = "人员删除失败";
                }
            }
    public bool DeleteMem(string id)
            {            try
                {
                   //conn为数据库连接                conn.Open();
                   
                    string sqlsentense = "Delete * FROM XXX Where id="+id+"";
     SqlCommand sqlCmd = new SqlCommand(sqlsentense, conn);                sqlCmd.ExecuteNonQuery();                return true;            }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    conn.Close();
                }
            }<asp:LinkButton ID="Button2" runat="server" OnClientClick=" javascript:return confirm('确定要删除?')"
                                            Text="删除" OnClick="Delete_Click" CommandArgument='<%#Eval("ID") %>' />
      

  2.   

    我用的 是 VS2008和SQL数据库2005.。做的添加。。我是用来删除数据库内的内容
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      

  3.   

    我用的就是vs2008和sql server 2005最近做的项目中的一段代码,我把存储过程改成普通sql语句,不同的层合并,然后检测无语法错误,贴上来的
      

  4.   

    哦谢谢啊。。恩学习下。。可以告诉我 你都用了哪些控件么 我构思了下是用 的textBox,GridView,还有button,做个可以查询删除的借鉴下你的
      

  5.   

    有问题可以现在问,今晚会加一点班。
    控件就是很平常的label,textbox,dropdownlist,Gridview,radiobutton,后台逻辑自己控制好就行我用asp.net 也就4个月,以前从Cidita用到Dreamweaver
      

  6.   


    <asp:GridView ID="GridView1" runat="server" CssClass="fixedheader" AutoGenerateColumns="false">
       <Columns>
         <asp:BoundField DataField="StaffCode" HeaderText="员工编号" ItemStyle-Width="30px" />
         <asp:BoundField DataField="Password" HeaderText="密码" ItemStyle-Width="50px"/>
         <asp:TemplateField HeaderText="">
             <ItemTemplate>
                   <asp:LinkButton ID="Button2" runat="server" OnClientClick=" javascript:return confirm('确定要删除该人员?')"  Text="删除" OnClick="Delete_Click" CommandArgument='<%#Eval("StaffCode") %>' />
              </ItemTemplate>
         </asp:TemplateField>
    </asp:GridView>补充一下我用的gridview部分,可以参考
      

  7.   

     </Columns></asp:GridView>刚刚最后少了一行
      

  8.   

    看看数据库操作类sqlhelper
    绑定数据使用统一方法如BindData()
    using(SqlConnection conn=new SqlConnection(""))
    {}绑定列表可用repeater,listview
      

  9.   

    1.在插入内容后可以正常显示了,但是在第二次插入后,就会把上次的显示再重复显示一遍连定义的ID和name,nianling,也会重复显示,很郁闷。在重新从数据库里完全读取之前你要把listview1.items中的项先clear掉,不然肯定会重复的.至于第二个问题,如果只是认为这个有难度而用这个就没有意义了。开发还是应该讲究效率。
    而且你自已勉强做的东西可能会有bug。个人看法,不要见怪
      

  10.   

    谢谢啊。。恩对了,我现在想用(就是只填入ID),点击后在GridView中显示我数据库中的第一列,(ID 1,name zhang,nianling 12),在修改时候是否,可以在GridView中执行,还是在添加textbox和控件分开执行,再用一个button进行保存,且可以把保存结果也就是数据库所有内容反映到GridView中,这是我的构思,实现起来是不是很麻烦努力中
      

  11.   

    是这样的,理论上可以在页面上显示和修改,但是为了看起来清晰,我们这里是不这样做的<asp:TemplateField HeaderText="">
                                    <ItemTemplate>
                                        <asp:LinkButton ID="Button1" runat="server" Text="编辑" OnClick="Edit_Click" CommandArgument='<%#Eval("StaffCode") %>' />
                                    </ItemTemplate>
                                </asp:TemplateField>
     protected void Edit_Click(object sender, EventArgs e)
            {
                LinkButton button = sender as LinkButton;
                if (true)
                {                Response.Redirect("~/EditPerInfo.aspx?MemStatus=edit&MemberEdit="+button.CommandArgument+"");
                }
                else
                {
                    ;
                }
            }
    通过跳转到另一个页面,查看详情并修改,把id这个参数作为request传过去
    如图所示,该页面通过request["MemberEdit"]到数据库拿取数据并实现可上传功能