使用存储过程将数据插入SQL数据库时出现问题。 [英] Problem in Inserting data into the SQL database using Store Procedure.

查看:82
本文介绍了使用存储过程将数据插入SQL数据库时出现问题。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在处理我的学期项目,我已经为其创建了一个表单供用户构建他的个人资料。但是在插入获取System.ArgumentException错误时:对象类型System中不存在映射。在线号码:101(即db1.sqlcmd.ExecuteScalar();)



这是我的代码

I am working on my semester project on which i have made a form for user to build his profile. but on inserting getting an error of System.ArgumentException: No mapping exists from object type System. on line No: 101 ( that is db1.sqlcmd.ExecuteScalar();)

HERE IS MY CODE

protected void BttnSumbit_Click(object sender, EventArgs e)
    {

        string message = string.Empty;
        try
        {
            if (AppUserimgUpload.PostedFile != null)
            {
                FileName = Path.GetFileName(AppUserimgUpload.PostedFile.FileName);

                //Save files to disk
                AppUserimgUpload.SaveAs(Server.MapPath("Images/" + FileName));
            }
            db1.sqlcmd = new SqlCommand("uspSetUserPassword");

            using (SqlDataAdapter sda = new SqlDataAdapter())
            {
                db1.sqlcmd.CommandType = CommandType.StoredProcedure;
                db1.sqlcmd.Parameters.AddWithValue("@Password", TxtBxConfirmPassword.Text.Trim());
                db1.sqlcmd.Parameters.AddWithValue("@UserID", userId);
                db1.sqlcmd.Parameters.AddWithValue("@Fathername", TxtBxFathername.Text.Trim());
                db1.sqlcmd.Parameters.AddWithValue("@DOB", Convert.ToDateTime(TxtBxDob.Text.Trim()).ToString("MM-dd-yyyy"));
                db1.sqlcmd.Parameters.AddWithValue("@WorkPhone", TxtBxWorkPhone.Text.Trim());
                db1.sqlcmd.Parameters.AddWithValue("@Avatar", FileName);
                db1.sqlcmd.Parameters.AddWithValue("@AvatarPath", "images/" + FileName);
                db1.sqlcmd.Parameters.AddWithValue("@OfficeProvince",DDProvince.SelectedItem.ToString());
                db1.sqlcmd.Parameters.AddWithValue("@OfficeCity", DDCity.SelectedItem.Text);
                db1.sqlcmd.Parameters.AddWithValue("@OfficeAddress", TxtBxOfficAdres.Text.Trim());
                db1.sqlcmd.Parameters.AddWithValue("@Partyid", DDProvince.SelectedValue);
                db1.sqlcmd.Parameters.AddWithValue("@PartyJoiningDate", Convert.ToDateTime(TxtBxPartyJoiningDate.Text.Trim()).ToString("MM-dd-yyyy"));
                db1.sqlcmd.Parameters.AddWithValue("@Constituency", DDConstituency.SelectedItem);
                db1.sqlcmd.Connection = db1.sqlcon;
                db1.sqlcon.Open();
                db1.sqlcmd.ExecuteScalar();
            }
        }
        catch (Exception ex)
        {
            Response.Write(ex);
        }
        finally
        {
            db1.sqlcon.Close();
            message = "Registration Completed, Click Ok and You Will be Redirct to the Login Page";
            //Response.Redirect("CandLogin.aspx");
        }
    }





这是商店程序



Here is the Store Procedure

CREATE PROC uspSetUserPassword
@Password VARCHAR(20),@UserID int,@Fathername Varchar(30),@DOB date,@WorkPhone Varchar(25),@Avatar varchar(50),
@AvatarPath varchar (max),@OfficeProvince Varchar(15),@OfficeCity Varchar(15),@OfficeAddress Varchar(max),
@Partyid int,@PartyJoiningDate date,@CId int
AS
BEGIN
UPDATE TblAppUser SET UserPassword = @Password WHERE  UserId = @UserID
UPDATE TblCandidateDetails SET FatherName = @Fathername , DateofBirth = @DOB , Avatar = @Avatar 
 , AvatarFilePath = @AvatarPath , OfficeAddress = @OfficeAddress ,City = @OfficeCity
 , Proivnce = @OfficeProvince , WorkPhone = @WorkPhone Where UserId = @UserID
INSERT INTO TblBridgeCandParty (UserID,PartyID,JoiningDate) VALUES (@UserID,@Partyid,@PartyJoiningDate)
INSERT INTO TblBridgeUserConstituency (UserId,ConstituencyID) VALUES (@UserID,@CId)
END

推荐答案

你需要调用 DDConstituency.SelectedItem.ToString()而且也不需要调用 .ToString(MM-dd-yyyy) for PartyJoiningDate 参数

you need to call DDConstituency.SelectedItem.ToString() and also no need to call .ToString("MM-dd-yyyy") for PartyJoiningDate parameter
db1.sqlcmd.Parameters.AddWithValue("@PartyJoiningDate", Convert.ToDateTime(TxtBxPartyJoiningDate.Text.Trim()));


这篇关于使用存储过程将数据插入SQL数据库时出现问题。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆