首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Convert.ToInt32(cmd.ExecuteScalar())中将数据类型nvarchar转换为int时出错

在Convert.ToInt32(cmd.ExecuteScalar())中将数据类型nvarchar转换为int时出错
EN

Stack Overflow用户
提问于 2017-11-27 10:06:26
回答 0查看 205关注 0票数 0

当包含Convert.ToInt32(cmd.ExecuteScalar())时,我得到一个关于将nvarchar转换为整数的错误

然而-我这样做的值被声明为INT,在我的存储过程中用作INT,并且在数据库中是一个INT。我不知道nvarchar是从哪里来的

代码语言:javascript
运行
复制
Protected Sub btnCreateAudition_Click(sender As Object, e As EventArgs) Handles btnCreateAudition.Click


    Protected Sub btnCreateAudition_Click(sender As Object, e As EventArgs) Handles btnCreateAudition.Click

        Dim audition_ID As Integer = 0
        Dim audition_Status As Integer = 0
        Dim ins_ID As Integer = DropDownList1.SelectedValue
        Dim ins_name As String = GetIns_Name(DropDownList1.SelectedValue)
        Dim judge1 As Integer = DropDownList2.SelectedValue
        Dim judge2 As Integer = DropDownList3.SelectedValue
        Dim judge3 As Integer = DropDownList4.SelectedValue
        Dim judge4 As Integer = DropDownList5.SelectedValue
        Dim judge5 As Integer = DropDownList6.SelectedValue
        Dim judgename1 As String = DropDownList2.SelectedValue
        Dim judgename2 As String = DropDownList3.SelectedValue
        Dim judgename3 As String = DropDownList4.SelectedValue
        Dim judgename4 As String = DropDownList5.SelectedValue
        Dim judgename5 As String = DropDownList6.SelectedValue
        Dim auditionIDTest As Integer = 100001
        Using con As New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\BandDatabase.mdf;Integrated Security=True")
            Using cmd As New SqlCommand("Create_Audition")
                Using sda As New SqlClient.SqlDataAdapter()
                    cmd.CommandType = CommandType.StoredProcedure
                    cmd.Parameters.AddWithValue("@audition_date", Calendar1.SelectedDate)
                    cmd.Parameters.AddWithValue("@audition_location", txtauditionlocation.Text)
                    cmd.Parameters.AddWithValue("@audition_status", audition_Status)
                    cmd.Parameters.AddWithValue("@instrument_name", ins_name)
                    cmd.Parameters.AddWithValue("@ins_ID", ins_id)
                    cmd.Parameters.AddWithValue("@judge1", judge1)
                    cmd.Parameters.AddWithValue("@judge2", judge2)
                    cmd.Parameters.AddWithValue("@judge3", judge3)
                    cmd.Parameters.AddWithValue("@judge4", judge4)
                    cmd.Parameters.AddWithValue("@judge5", judge5)
                    cmd.Parameters.AddWithValue("@judgename1", judgename1)
                    cmd.Parameters.AddWithValue("@judgename2", judgename2)
                    cmd.Parameters.AddWithValue("@judgename3", judgename3)
                    cmd.Parameters.AddWithValue("@judgename4", judgename4)
                    cmd.Parameters.AddWithValue("@judgename5", judgename5)
                    cmd.Parameters.AddWithValue("@audition_IDTest", auditionIDTest)
                    cmd.Connection = con
                    con.Open()
                    'No error if below line is commented out, but DB isn't updated
                    audition_ID = Convert.ToInt32(cmd.ExecuteScalar())
                    con.Close()
                End Using
            End Using
        End Using
    End Sub

存储过程是...

代码语言:javascript
运行
复制
CREATE PROCEDURE [dbo].[Create_Audition]
       @audition_date DATE,
       @audition_status INT,
       @audition_location NVARCHAR,
       @ins_ID INT,
       @instrument_name INT,
       @judge1 INT,
       @judge2 INT,
       @judge3 INT,
       @judge4 INT,
       @judge5 INT,
       @judgename1 NVARCHAR,
       @judgename2 NVARCHAR,
       @judgename3 NVARCHAR,
       @judgename4 NVARCHAR,
       @judgename5 NVARCHAR,
       @audition_IDTest INT
AS
BEGIN

              INSERT INTO [Audition] 
                           ([audition_date]
                           ,[ins_ID]
                           ,[insturment_name]
                           ,[audition_location]
                           ,[audition_status])
              VALUES
                           (@audition_date
                           ,@ins_ID
                           ,@instrument_name
                           ,@audition_location
                           ,@audition_status)

              SELECT SCOPE_IDENTITY() -- Audition_ID


       END
BEGIN

              INSERT INTO [Judge_Audition] 
                           ([UserID]
                           ,[judge_username]
                           ,[audition_ID]
                           )


              VALUES
                           (@judge1,
                            @judgename1,
                            @audition_IDTest
                          )

              SELECT SCOPE_IDENTITY() -- J_ID
       END
BEGIN

              INSERT INTO [Judge_Audition] 
                           ([UserID]
                           ,[judge_username]
                           ,[audition_ID]
                          )
              VALUES
                           (@judge2,
                           @judgename2,
                           @audition_IDTest
                          )

              SELECT SCOPE_IDENTITY() -- J_ID
       END
BEGIN

              INSERT INTO [Judge_Audition] 
                           ([UserID]
                           ,[judge_username]
                           ,[audition_ID]
                          )
              VALUES
                           (@judge3,
                           @judgename3,
                           @audition_IDTest
                          )

              SELECT SCOPE_IDENTITY() -- J_ID
       END
BEGIN

              INSERT INTO [Judge_Audition] 
                           ([UserID]
                           ,[judge_username]
                           ,[audition_ID]
                          )
              VALUES
                           (@judge4,
                           @judgename4,
                           @audition_IDTest
                          )

              SELECT SCOPE_IDENTITY() -- J_ID
       END

BEGIN

              INSERT INTO [Judge_Audition] 
                           ([UserID]
                           ,[judge_username]
                           ,[audition_ID]
                          )
              VALUES
                           (@judge5,
                           @judgename5,
                            @audition_IDTest

                          )

              SELECT SCOPE_IDENTITY() -- J_ID
       END

它可能在哪里将audition_ID指定为nvarchar类型?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47503020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档