做了一个页面,用于用户信息注册
其中有7个TextBox,两个DropDownList(选择学院与班级),还有一个FileUpload用于上传图片到数据库中(image型)SqlDataSource3对应FileUpload控件,代码如下<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:strConnection1 %>"
           InsertCommand="insert into Examinations (Photo) Values(@Pic)">
      <InsertParameters>
             <asp:ControlParameter ControlID="PicUpload" Name="Pic" PropertyName="FileBytes" />
      </InsertParameters>
</asp:SqlDataSource>
<asp:FileUpload ID="PicUpload" runat="server" />如果只做图片上传,加上下面的代码即可(换了另一个只包含两列的表)protected void btnReg_Click(object sender, EventArgs e)
    {
        SqlDataSource3.Insert();
    }但是这里需要保存的信息比较多,现在点“提交”,插入值的代码如下:protected void btnReg_Click(object sender, EventArgs e)
    {
        string strConnection = ConfigurationSettings.AppSettings["strConnection"];
        SqlConnection con = new SqlConnection(strConnection);
        con.Open();        string strsql = "insert into Examinations values('" + txtStuId.Text + "','" + txtCardId.Text + "','" + txtStuName.Text + "','" + txtStuType.Text + "','" + DropDownList1.DataValueField + "','" + DropDownList2.DataValueField + "','" + txtTile.Text + "','" + SqlDataSource3.Insert() + "','" + txtAddress.Text + "','" + txtTel.Text + "')";        SqlCommand cmd = new SqlCommand(strsql, con);
        cmd.ExecuteNonQuery();
        con.Close();        Response.Redirect("RegOk.aspx");    
    }这么做,VS报错的地方在.cs文件的SqlDataSource3.Insert(),处,提示“列名 'Photo' 无效”
我不知道该怎么写,所以只能写到这里了,请问大家有什么好的方法吗?
或者我的这些代码该怎么改呢?

解决方案 »

  1.   

    Examinations 表到底有没有Photo列?
      

  2.   

    SqlDataSource.Insert 方法语法public int Insert ()返回值
    一个值,该值表示插入到基础数据库中的行数。 
      

  3.   

    以前工作的公司禁止使用SqlDataSource
    "<%$ ConnectionStrings:strConnection1 %>"
    string strConnection = ConfigurationSettings.AppSettings["strConnection"];
    一个有1一个没有1
      

  4.   


    连接字符都一样
    只是用的方式不同
      <appSettings>
        <add key="strConnection" value="uid=sa;password=46**84;database=baoming;server=.\SQLEXPRESS" />
        <!--供普通数据连接使用-->
          </appSettings>
      <connectionStrings>
        <add name="strConnection1" connectionString="server=.\SQLEXPRESS;database=baoming;uid=sa;pwd=46**84"
          providerName="System.Data.SqlClient" />
        <!--供DataSource使用-->
      </connectionStrings>
      

  5.   

    string strsql = "insert into Examinations values('" + txtStuId.Text + "','" + txtCardId.Text + "','" + txtStuName.Text + "','" + txtStuType.Text + "','" + DropDownList1.DataValueField + "','" + DropDownList2.DataValueField + "','" + txtTile.Text + "','" + SqlDataSource3.Insert() + "','" + txtAddress.Text + "','" + txtTel.Text + "')";
    不知道你要插入的'" + txtStuId.Text + "','" + txtCardId.Text + "'这两个字段在数据库中是什么类型?如果是int类型,那么就要去掉单引号了,
    " + txtStuId.Text + "," + txtCardId.Text + "