先从表单项里获取房间号码roomnumb,入住日期entrydays,居住天数staydays.通过roomnumb来确认room表里是否有这个号码,要是有的话就把房间号码roomnumb,入住日期entrydays,居住天数staydays插入yuding表里 
代码: 
string roomnumb1 = this.roomnumb.Text.ToString(); 
        string entrydays1 = this.entrydays.Text.ToString(); 
        string staydays1 = this.staydays.Text.ToString();         string strconnection = ConfigurationManager.ConnectionStrings["123"].ConnectionString; 
        SqlConnection conn = new SqlConnection(strconnection); 
        conn.Open(); 
        string sql = "select * from room where roomnumb='"+roomnumb1+""; 
        SqlCommand cmd = new SqlCommand(sql, conn); 
        SqlDataReader dr = cmd.ExecuteReader(); 
        if (dr.Read()) 
        { 
            dr.Close(); conn.Close();             string strconnection1 = ConfigurationManager.ConnectionStrings["123"].ConnectionString; 
            SqlConnection conn1 = new SqlConnection(strconnection1); 
            conn1.Open(); 
            string sql1 = "insert yuding set roomnumb='"+roomnumb1+"' and entrydays='"+entrydays1+"' and staydays='"+staydays1+"' where roomnumb='" + roomnumb1 + "'"; 
            SqlCommand cmd1 = new SqlCommand(sql1,conn1); 
            cmd1.ExecuteNonQuery(); 
        } 
        else 
        { 
            Response.Write("对不起,您输入的房间号码不正确!");        
        } 
提示错误是 :  cmd1.ExecuteNonQuery()有错 有什么其他的方法吗?

解决方案 »

  1.   

    if (dr.Read()) 
            { 
                           string sql1 = "insert yuding set roomnumb='"+roomnumb1+"' and entrydays='"+entrydays1+"' and staydays='"+staydays1+"' where roomnumb='" + roomnumb1 + "'"; 
                SqlCommand cmd1 = new SqlCommand(sql1,conn); 
                cmd1.ExecuteNonQuery(); 
            } 
            else 
            { 
                Response.Write("对不起,您输入的房间号码不正确!");        
            } 
     dr.Close(); conn.Close(); 
      

  2.   

     string sql1 = "insert yuding set roomnumb='"+roomnumb1+"' and entrydays='"+entrydays1+"' and staydays='"+staydays1+"' where roomnumb='" + roomnumb1 + "'"; 
      
    这应该是  string sql1 = "uptradeyuding set roomnumb='"+roomnumb1+"' and entrydays='"+entrydays1+"' and staydays='"+staydays1+"' where roomnumb='" + roomnumb1 + "'"; 更新的插入 是   insert into 表(字段1,字段2,字段3) values (xx,xx,xx)   (注意拼接) 
      

  3.   

    insert yuding set roomnumb='"+roomnumb1+"' and entrydays='"+entrydays1+"' and staydays='"+staydays1+"' where roomnumb='" + roomnumb1 + "'"; 
    错了不只一个地方insert into yuding(字段1,字段2) values(写入数据库的值1,写入数据库的值2); 插入数据库用insert into
    修改数据库用update dbtable set  ..  and  ..
      

  4.   

    sql1语句错误吧~string sql1 = "insert yuding set roomnumb='"+roomnumb1+"' and entrydays='"+entrydays1+"' and staydays='"+staydays1+"' where roomnumb='" + roomnumb1 + "'"; ??insert yuding set难道是update yuding set。
      

  5.   


     string sql1 = "insert yuding set roomnumb='"+roomnumb1+"' and entrydays='"+entrydays1+"' and staydays='"+staydays1+"' where roomnumb='" + roomnumb1 + "'"; 
    ???
    如果你要插入的话
    insert into 表名(列1,列2,列3,列4)values(值1,值2,值3,值4)如果是更新的话update 表名  set 列值1=改变后的值,列值2=改变后值 where 条件
      

  6.   


    报错:  cmd1.ExecuteNonQuery(); -- 已有打开的与此命令相关联的 DataReader,必须首先将它关闭。
      

  7.   

    update  不是 uptrade  老是想着公司的logo了  呵呵
    string sql1 = "update yuding set roomnumb='"+roomnumb1+"' and entrydays='"+entrydays1+"' and staydays='"+staydays1+"' where roomnumb='" + roomnumb1 + "'";   这是更新语句   不是插入
      

  8.   

     改的代码:
    string sql1 = "insert yuding(roomnumb,entrydays,staydays)values('roomnumb1','entrydays1','staydays1') ";
     SqlCommand cmd1 = new SqlCommand(sql1, conn1);
     cmd1.ExecuteNonQuery();改过后插入的值成了 roomnumb1  entrydays1 staydays1,而不是从表单获得的值 什么原因阿?