首页 > 解决方案 > regdno = Convert.ToInt32(cmd.ExecuteScalar()); data not inserted

问题描述

Data is not being inserted into SQL Server using a stored procedure.

Insert code in ASP.NET / C#:

private void insert()
{
    int regdno = 0;

    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;

    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand("Insert_bmsstudent"))
        {
            using (SqlDataAdapter sda = new SqlDataAdapter())
            {
                cmd.CommandType = CommandType.StoredProcedure;
                string strFilename = uploadImage(photos);

                cmd.Parameters.AddWithValue("@sphoto", strFilename.Trim());
                cmd.Parameters.AddWithValue("@admyear", ddlyear1.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@addedddt", lbl_date.Text.Trim());
                cmd.Parameters.AddWithValue("@admno", adm_no.Text.Trim());
                cmd.Parameters.AddWithValue("@dateofadm", txt_dtadm.Text.Trim());
                cmd.Parameters.AddWithValue("@sname", txt_sname.Text.Trim());
                cmd.Parameters.AddWithValue("@preclass", ddlClass.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@presec", ddlsec.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@preroll", txt_roll.Text.Trim());
                cmd.Parameters.AddWithValue("@priclass", txtpriclass.Text.Trim());
                cmd.Parameters.AddWithValue("@prisec", ddlprisec.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@priroll", txt_priroll.Text.Trim());
                cmd.Parameters.AddWithValue("@sgender", rdo_gender.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@sreligion", sreli.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@sdate", ddldate.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@smonth", dmonth.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@syear", ddlyear.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@caste", chk_caste.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@aadharno", txt_aadhar.Text.Trim());
                cmd.Parameters.AddWithValue("@bg", txt_bg.Text.Trim());
                cmd.Parameters.AddWithValue("@bplstatus", bpl_status.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@bplno", bpl_no.Text.Trim());
                cmd.Parameters.AddWithValue("@svill", ddl_vill.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@spost", txt_postname.Text.Trim());
                cmd.Parameters.AddWithValue("@sps", txt_ps.Text.Trim());
                cmd.Parameters.AddWithValue("@sblock", txt_block.Text.Trim());
                cmd.Parameters.AddWithValue("@sdist", txt_dist.Text.Trim());
                cmd.Parameters.AddWithValue("@sstate", txt_state.Text.Trim());
                cmd.Parameters.AddWithValue("@spincode", txt_pincode.Text.Trim());
                cmd.Parameters.AddWithValue("@snationality", txt_nation.Text.Trim());
                cmd.Parameters.AddWithValue("@fname", txt_fname.Text.Trim());
                cmd.Parameters.AddWithValue("@fmob", txt_mobno.Text.Trim());
                cmd.Parameters.AddWithValue("@foccu", txt_occu.Text.Trim());
                cmd.Parameters.AddWithValue("@fqly", txt_qly.Text.Trim());
                cmd.Parameters.AddWithValue("@faincome", txt_income.Text.Trim());

                string strFilename2 = uploadImage2(photos2);
                cmd.Parameters.AddWithValue("@fphoto", strFilename2.Trim());
                cmd.Parameters.AddWithValue("@mname", txt_mother.Text.Trim());
                cmd.Parameters.AddWithValue("@mmob", txt_mmobile.Text.Trim());

                string strFilename3 = uploadImage3(photos3);
                cmd.Parameters.AddWithValue("@mphoto", strFilename3.Trim());

                cmd.Parameters.AddWithValue("@gname", txt_guar.Text.Trim());
                cmd.Parameters.AddWithValue("@gmob", txt_gmob.Text.Trim());
                cmd.Parameters.AddWithValue("@relative", rdorelative.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@relation1", ddl_relation1.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@rname1", txt_rname1.Text.Trim());
                cmd.Parameters.AddWithValue("@rclass1", txt_rc1.Text.Trim());
                cmd.Parameters.AddWithValue("@rsec1", txt_rsec1.Text.Trim());
                cmd.Parameters.AddWithValue("@rroll1", txt_rroll1.Text.Trim());
                cmd.Parameters.AddWithValue("@relation2", ddl_relation2.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@rname2", txt_rname2.Text.Trim());
                cmd.Parameters.AddWithValue("@rclass2", txt_rc2.Text.Trim());
                cmd.Parameters.AddWithValue("@rsec2", txt_rsec2.Text.Trim());
                cmd.Parameters.AddWithValue("@rroll2", txt_rroll2.Text.Trim());
                cmd.Parameters.AddWithValue("@relation3", ddl_relation3.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@rclass3", txt_rc3.Text.Trim());
                cmd.Parameters.AddWithValue("@rsec3", txt_rsec3.Text.Trim());
                cmd.Parameters.AddWithValue("@rroll3", txt_rroll3.Text.Trim());
                cmd.Parameters.AddWithValue("@bankname", ddl_bank.SelectedValue.Trim());
                cmd.Parameters.AddWithValue("@bbranch", txt_branch.Text.Trim());
                cmd.Parameters.AddWithValue("@bifsc", txt_ifsc.Text.Trim());

                cmd.Parameters.AddWithValue("@baccount", txt_baccount.Text.Trim());
                cmd.Parameters.AddWithValue("@agree", declarationchk.Text.Trim());
                cmd.Parameters.AddWithValue("@other1", other1.Text.Trim());
                cmd.Parameters.AddWithValue("@other2", other2.Text.Trim());
                cmd.Parameters.AddWithValue("@other3", other3.Text.Trim());
                cmd.Parameters.AddWithValue("@other4", other4.Text.Trim());
                cmd.Parameters.AddWithValue("@other5", other5.Text.Trim());
                cmd.Parameters.AddWithValue("@other6", other6.Text.Trim());

                cmd.Connection = con;
                con.Open();

                regdno = Convert.ToInt32(cmd.ExecuteScalar());

                con.Close();
            }
        }

        string message = string.Empty;

        switch (regdno)
            {
                case -1:
                    message = "Student already exists.\\nEntered Students  roll no. already been used. Please Enter a different roll no..";
                    break;
                case -2:
                    message = "Supplied Account No. has already been used.";
                    break;
                default:
                    message = "Registration successful.  \\nYour Regd. no: " + regdno.ToString();
                    break;
            }
            ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + message + "');", true);

            lblmsg.Text = regdno.ToString();
            string queryString = "http://example.org/admin/studentdetailspopup.aspx?userid=" + lblmsg.Text.Trim();

            string newWin = "window.open('" + queryString + "');";
            ClientScript.RegisterStartupScript(this.GetType(), "pop", newWin, true);
        }

    }
    #endregion

Stored procedure :

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[Insert_bmsstudent]  
    @admyear NVARCHAR(50),
    @addedddt DATE,
    @admno NVARCHAR(50),
    @dateofadm DATE,
    @sname NVARCHAR(100),
    @preclass NVARCHAR(50),
    @presec NVARCHAR(50),
    @preroll NVARCHAR(50),
    @priclass NVARCHAR(50),
    @prisec NVARCHAR(50),
    @priroll NVARCHAR(50),
    @sgender VARCHAR(50),
    @sreligion VARCHAR(50),
    @sdate NVARCHAR(50),
    @smonth NVARCHAR(50),
    @syear NVARCHAR(50),
    @caste VARCHAR(50),
    @sphoto NVARCHAR(50),
    @aadharno NVARCHAR(50),
    @bg NVARCHAR(50),
    @bplstatus NVARCHAR(50),
    @bplno NVARCHAR(50),
    @svill VARCHAR(500),
    @spost VARCHAR(50),
    @sps VARCHAR(50),
    @sblock VARCHAR(50),
    @sdist VARCHAR(50),
    @sstate VARCHAR(50),
    @spincode VARCHAR(50),
    @snationality VARCHAR(50),
    @fname VARCHAR(250),
    @fmob VARCHAR(50),
    @foccu VARCHAR(50),
    @fqly VARCHAR(50),
    @faincome VARCHAR(50),
    @fphoto VARCHAR(50),
    @mname VARCHAR(50),
    @mmob VARCHAR(50),
    @mphoto VARCHAR(50),
    @gname VARCHAR(50),
    @gmob VARCHAR(50),
    @relative VARCHAR(50),
    @relation1 VARCHAR(50),
    @rname1 VARCHAR(50),
    @rclass1 VARCHAR(50),
    @rsec1 VARCHAR(50),
    @rroll1 VARCHAR(50),
    @relation2 VARCHAR(50),
    @rname2 VARCHAR(50),
    @rclass2 VARCHAR(50),
    @rsec2 VARCHAR(50),
    @rroll2 VARCHAR(50),
    @relation3 VARCHAR(50),
    @rclass3 VARCHAR(50),
    @rsec3 VARCHAR(50),
    @rroll3 VARCHAR(50),
    @bankname VARCHAR(500),
    @bbranch NVARCHAR(500),
    @bifsc NVARCHAR(50),
    @baccount NVARCHAR(50),
    @agree VARCHAR(50),
    @other1 NVARCHAR(500),
    @other2 NVARCHAR(500),
    @other3 NVARCHAR(500),
    @other4 NVARCHAR(500),
    @other5 NVARCHAR(500),
    @other6 NVARCHAR(500)

    --@TaskParam int,  
    -- @Del int, 
AS
BEGIN
    SET NOCOUNT ON;

    IF EXISTS(SELECT slno FROM fbmssms.bmsstudents WHERE preroll = @preroll)
    BEGIN
        SELECT -1 -- Username exists.
    END
    ELSE IF EXISTS(SELECT slno FROM fbmssms.bmsstudents WHERE baccount = @baccount)
    BEGIN
        SELECT -2 -- Email exists.
    END
    ELSE
    BEGIN
        INSERT INTO [fbmssms.bmsstudents]([admyear], [nvarchar], [addedddt], [admno], [dateofadm], [sname],
                                          [preclass], [presec], [preroll], [priclass], [prisec], [priroll],
                                          [sgender], [sreligion], [sdate], [smonth], [syear], [caste],
                                          [sphoto], [aadharno], [bg], [bplstatus], [bplno], [svill],
                                          [spost], [sps], [sblock], [sdist], [sstate], [spincode], [snationality],
                                          [fname], [fmob], [foccu], [fqly], [faincome], [fphoto], [mname],
                                          [mmob], [mphoto], [gname], [gmob], [relative], [relation1],
                                          [rname1], [rclass1], [rsec1], [rroll1], [relation2], [rname2], [rclass2],
                                          [rsec2], [rroll2], [relation3], [rclass3], [rsec3], [rroll3],
                                          [bankname], [bbranch], [bifsc], [baccount], [agree], 
                                          [other1], [other2], [other3], [other4], [other5], [other6])  
        VALUES (@admyear, @addedddt, @admno, @dateofadm, @sname,
                @preclass, @presec, @preroll, @priclass, @prisec, @priroll,
                @sgender, @sreligion, @sdate, @smonth, @syear, @caste,
                @sphoto, @aadharno, @bg, @bplstatus, @bplno, @svill,
                @spost, @sps, @sblock, @sdist, @sstate, @spincode, @snationality,
                @fname, @fmob, @foccu, @fqly, @faincome, @fphoto, @mname,
                @mmob, @mphoto, @gname, @gmob, @relative, @relation1,
                @rname1, @rclass1, @rsec1, @rroll1, @relation2, @rname2, @rclass2,
                @rsec2, @rroll2, @relation3, @rclass3, @rsec3, @rroll3,
                @bankname, @bbranch, @bifsc, @baccount, @agree,
                @other1, @other2, @other3, @other4, @other5, @other6)

        SELECT SCOPE_IDENTITY()            
     END
END

Error....................

Invalid object name 'fbmssms.bmsstudents'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Invalid object name 'fbmssms.bmsstudents'.
Source Error:
Line 436: cmd.Connection = con;
Line 437: con.Open();
Line 438: regdno = Convert.ToInt32(cmd.ExecuteScalar());
Line 439: con.Close();
Line 440: }

Connection was there. Even my same coding is running in another page in same style. Here I don't know why it is not working.

标签: c#asp.netsql-server

解决方案


INSERT INTO [fbmssms.bmsstudents]...无效的对象名称“fbmssms.bmsstudents”。

这里有几种可能性。如所写,该INSERT语句指向一个[fbmssms.bmsstudents]在连接对象指向的任何数据库中命名的表。

如果您实际上是指bmsstudents架构中的表fbmssms,请使用 [fbmssms].[bmsstudents].

如果您的意思是bmsstudents数据库中默认模式中的表fbmssms,请使用[fbmssms]..[bmsstudents][fbmssms].[dbo].[bmsstudents](假设这dbo是数据库的默认模式)。

如果您指的是名为 的表[fbmssms.bmsstudents],则您可能连接到了不正确的数据库。将数据库名称和模式添加到表名中,例如[MyDatabase].[dbo].[fbmssms.bmsstudents].


推荐阅读