用sql语句不是推荐的做法。
在winform上使用数据集操作效果好。(因为你修改了数据,后者删除了数据后,界面上是要刷新的,用sql的话,还要重新提取数据,而是用内存操作则会比较好。
在webform上我一般用sql。

解决方案 »

  1.   

    看代码
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    namespace Edobnet.INFO.Admin
    {
    /// <summary>
    /// ProjectProperty 的摘要说明。
    /// </summary>
    public class TypeManage : Edobnet.INFO.Components.BasePage
    {
    protected System.Web.UI.WebControls.TextBox txt_PropertyName;
    protected System.Web.UI.WebControls.DataGrid dg_property;
    protected System.Web.UI.WebControls.Button Btn_Add; protected  Edobnet.INFO.UserControl.dgNavigation DgNavigation1;

    private void Page_Load(object sender, System.EventArgs e)
    { // 在此处放置用户代码以初始化页面
    DgNavigation1.SetTarget(dg_property, new Edobnet.INFO.UserControl.BindDataDelegate(Bind));//BindData是你的数据邦定事件
    DgNavigation1.SetStyle(15, false);//10表示每页分10行,true表示无分页时自动隐藏
    if(!Page.IsPostBack)
    {
    //检查权限
    this.PageBodyStyle = "bodystyle";
    Bind();
    }
    } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.dg_property.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dg_property_ItemCreated);
    this.dg_property.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_property_ItemCommand);
    this.dg_property.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_property_CancelCommand);
    this.dg_property.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_property_EditCommand);
    this.dg_property.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_property_UpdateCommand);
    this.Btn_Add.Click += new System.EventHandler(this.but_add_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion
    private void Bind()
    {
    DataSet ds = new DataSet();
    ds =Edobnet.INFO.DataAccess.Type.GetListOfType();
    DataView dv = ds.Tables[0].DefaultView;
    dg_property.DataSource = dv;
    dg_property.DataBind();
    } /// <summary>
    /// 添加工程性质
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void but_add_Click(object sender, System.EventArgs e)
    {
    if(this.txt_PropertyName.Text == "")
    {
    Response.Write("<script>alert('类别名不能为空');</script>");
    return;
    }
    Edobnet.INFO.DataAccess.Type.AddType(txt_PropertyName.Text,"");
    this.txt_PropertyName.Text = "";
    this.Bind();

    } private void dg_property_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    ImageButton btn_delete;
    //删除
    btn_delete = (ImageButton)e.Item.FindControl("btn_delete");
    btn_delete.Attributes.Add("onclick","return confirm('是否真要删除,相关内容将级连删除');");
    e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='#f5f5f5';");
    e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='';");
    }
    } private void dg_property_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    dg_property.EditItemIndex=e.Item.ItemIndex;
    this.Bind();

    } private void dg_property_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    dg_property.EditItemIndex=-1;
    this.Bind();
    } /// <summary>
    /// 更新工程性质
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
    private void dg_property_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    TextBox txt_PropertyName;
    txt_PropertyName=(TextBox)e.Item.FindControl("PropertyName");
    //ProjectTask.UpdateProjectProperty(txt_PropertyName.Text,int.Parse(dg_property.DataKeys[e.Item.ItemIndex].ToString()));
    this.dg_property.EditItemIndex = -1;
    this.Bind();
    } /// <summary>
    /// 删除工程性质
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
    private void dg_property_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    if(e.CommandName == "delete")
    {
    Edobnet.INFO.DataAccess.Type.DeleteType(int.Parse(dg_property.DataKeys[e.Item.ItemIndex].ToString()));
    this.Bind();
    }
    }
    }
    }
      

  2.   

    to  jiezhi(風依舊) 我是用在WEB上
    to edobnet(oоОoоО) 俺水平低,你的程序我看不懂啊。