我用response.write()方法能显示出SQL插入语句,执行也成功。数据连接类、数据库、数据表和插入语句都没错。可是为什么在数据表里面没有数据啊?

解决方案 »

  1.   

    我找到问题了。是RadioButtonList 和CheckBoxList惹得祸。
      

  2.   

    string stradd ="insert into SoftwareInfo (sid,sname,stype,number,lockcode,buydate,cost,department,source,custodian,telephone,re) values ('"+txtsid.Text+"','"+txtsname.Text+"','"+RadioButtonList.SelectedValue+"','"+txtnumber.Text+"','"+txtlockcode.Text+"','"+txtbuydate.Value+"','"+txtcost.Text+"','"+CheckBoxList.SelectedValue+"','"+txtsource.Text+"','"+txtcustodian.Text+"','"+txttelephone.Text+"','"+txtre.Text+"')";
    ClsDB.Execute(stradd);RadioButtonList 和CheckBoxList能这么写吗?
      

  3.   


    我把RadioButtonList 和CheckBoxList控件删了就解决了。问题是我要RadioButtonList 和CheckBoxList控件。JF是什么?
      

  4.   

    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 softwaremanager
    {
    /// <summary>
    /// register 的摘要说明。
    /// </summary>
    public class register : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.Label lblsid;
    protected System.Web.UI.WebControls.TextBox txtsid;
    protected System.Web.UI.WebControls.Label lblsname;
    protected System.Web.UI.WebControls.TextBox txtsname;
    protected System.Web.UI.WebControls.Label lblstype;
    protected System.Web.UI.WebControls.Label lblnumber;
    protected System.Web.UI.WebControls.TextBox txtnumber;
    protected System.Web.UI.WebControls.Label lbllockcode;
    protected System.Web.UI.WebControls.TextBox txtlockcode;
    protected System.Web.UI.WebControls.Label lblbuydate;
    protected System.Web.UI.WebControls.Label lblcost;
    protected System.Web.UI.WebControls.TextBox txtcost;
    protected System.Web.UI.WebControls.Label lbldepartment;
    protected System.Web.UI.WebControls.Label lblsource;
    protected System.Web.UI.WebControls.TextBox txtsource;
    protected System.Web.UI.WebControls.Label lblcustodian;
    protected System.Web.UI.WebControls.TextBox txtcustodian;
    protected System.Web.UI.WebControls.Label lbltelephone;
    protected System.Web.UI.WebControls.TextBox txttelephone;
    protected System.Web.UI.WebControls.Label lblaccessory;
    protected System.Web.UI.WebControls.Label lblre;
    protected System.Web.UI.WebControls.TextBox txtre;
    protected System.Web.UI.WebControls.Button btnAdd;
    protected System.Web.UI.WebControls.Button btnUpdate;
    protected System.Web.UI.WebControls.Button btnDel;
    protected System.Web.UI.WebControls.Button btnSearch;
    protected System.Web.UI.HtmlControls.HtmlInputText txtbuydate;
    protected System.Web.UI.WebControls.RequiredFieldValidator rfvsid;
    protected System.Web.UI.WebControls.RequiredFieldValidator rfvsname;
    protected System.Web.UI.WebControls.RequiredFieldValidator rfvnumber;
    protected System.Web.UI.WebControls.RequiredFieldValidator rfvlockcode;
    protected System.Web.UI.WebControls.RequiredFieldValidator rfvbuydate;
    protected System.Web.UI.WebControls.RequiredFieldValidator rfvcost;
    protected System.Web.UI.WebControls.RadioButtonList RadioButtonList;
    protected System.Web.UI.WebControls.CheckBoxList CheckBoxList;
    protected System.Web.UI.HtmlControls.HtmlInputFile InputPictureFile;
    protected System.Web.UI.WebControls.Label LabelWarningMessage;
    protected System.Web.UI.WebControls.ImageButton IBtnsid;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.IBtnsid.Click += new System.Web.UI.ImageClickEventHandler(this.IBtnsid_Click);
    this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void IBtnsid_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {
    string url; 
    url="altersid.aspx?sid=" + txtsid.Text; 
    Response.Redirect(url); 
    } private Boolean AddImages()
    {
    /**/
    ///'遍历File表单元素  
    HttpFileCollection files = HttpContext.Current.Request.Files; /**/
    ///  '状态信息  
    System.Text.StringBuilder sb = new System.Text.StringBuilder();
    try
    {
    for (int iFile = 0; iFile < files.Count; iFile++)
    {
    ///'检查文件扩展名字  
    HttpPostedFile postedFile = files[iFile];
    string fileName, fileExtension;
    fileName = System.IO.Path.GetFileName(postedFile.FileName);
    if (fileName != "")
    {
    fileExtension = System.IO.Path.GetExtension(fileName);
    ///'可根据扩展名字的不同保存到不同的文件夹  
    ///注意:可能要修改你的文件夹的匿名写入权限。  
    postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("SoftwarePics/") + fileName);
    sb.Append("SoftwarePics/"+fileName);//这里只拼文件名
    }
    }
    string values = sb.ToString().Trim();
    string stradd ="insert into SoftwareInfo (sid,sname,stype,number,lockcode,buydate,cost,department,source,custodian,telephone,accessory,re)values('"+txtsid.Text+"','"+txtsname.Text+"','"+RadioButtonList.SelectedValue+"','"+txtnumber.Text+"','"+txtlockcode.Text+"','"+txtbuydate.Value+"','"+txtcost.Text+"','"+CheckBoxList.SelectedValue+"','"+txtsource.Text+"','"+txtcustodian.Text+"','"+txttelephone.Text+"','"+values+"','"+txtre.Text+"')";
    ClsDB.Execute(stradd);
    //Response.Write(stradd);
    return true;
    }
    catch (System.Exception ex)
    {
    return false;
    }
    }
    private void btnAdd_Click(object sender, System.EventArgs e)
    {
    AddImages();
    Response.Write("<script>alert('添加记录成功')</script>");
    }
    }
    }
      

  5.   

    设置CheckBoxList不刷新,
    跟踪看那看
    catch (System.Exception ex)
                {
                    return false;
                }
      

  6.   

    JF:接分
    -----------
    CheckBoxList是复选,楼主的读法应该读不到选多项的吧,
    int n=0;
            foreach (ListItem cut in this.Cu11.Items)
            {
                if (cut.Selected)
                {
                    if (n == 0)
                    {
                        sqlstr = sqlstr + " and (Cut='" + cut.Value + "'";
                    }
                    else
                    {
                        sqlstr = sqlstr + " or Cut='" + cut.Value + "'";
                    }
                    n++;
                }            
            }
    给一个参考的
      

  7.   

    哦原来多选的问题啊。遍历CheckBoxListfor (int intIndex = 0; intIndex < this.CheckBoxList.Items.Count; intIndex++) 
    {
    if (this.CheckBoxList.Items[intIndex].Selected)
    {

        string str += this.CheckBoxList.Items[intIndex].Value;
    }
    }
    }
      

  8.   

    string str += this.CheckBoxList.Items[intIndex].Value; 应该先定义吧 然后在循环里使用
    string str="";
    for{)
    {
     str += this.CheckBoxList.Items[intIndex].Value; 
    }
      

  9.   

    急忙的写了一个没测试这样看看string str = string.Empty;
    for (int intIndex = 0; intIndex < this.CheckBoxList.Items.Count; intIndex++) 
                {
                    if (this.CheckBoxList.Items[intIndex].Selected)
                    {
                        
                         str += this.CheckBoxList.Items[intIndex].Value;
                    }
                    }
                }
      

  10.   


    this.CheckBoxList.Items[intIndex].Value;和this.CheckBoxList.Items[intIndex].Text; 两个有什么区别
      

  11.   

    this.CheckBoxList.Items[intIndex].Value;和this.CheckBoxList.Items[intIndex].Text; 两个有什么区别<asp:ListItem Value="滨海分院">滨海分院</asp:ListItem>
    this.CheckBoxList.Items[intIndex].Value是指 Value="滨海分院" Text 是指滨海分院你这里都一样的