時轉換失敗我不知道如何將nvarchar值轉換爲int,但這是它需要設置的方式。我發現了其他職位,但我不知道如何在INSERT語句中使用CAST。我能找到的所有帖子都是關於在SELECT語句中轉換爲int的。我需要此語句將字段@Duration更改爲數據庫中的int。 @Duration是一段時間。 (01:00,02:00 ...)它們都會四捨五入到下一個int值。所以如果用戶輸入0:45,它應該被轉換爲1.有人能幫我弄清楚如何讓這個INSERT工作嗎?將nvarchar值'01:00'轉換爲數據類型int
'SQL Insert: Product table
Dim sqlInsertProduct As String = "INSERT INTO Product (ProductName, Status,
CreateDate, ModifyDate, CreateUser,
ModifyUser, Price, LaunchDate, Duration,
IsPublic, Presenter, Host, Broker)
VALUES (@ProductName, '1',getdate(),
getdate(), @CreateUser, @ModifyUser,
'0', @LaunchDate, @Duration, '1',
@Presenter, @Host, @Broker);
SELECT SCOPE_IDENTITY();"
Using cmd As New SqlCommand(sqlInsertProduct, cn)
Dim ProductID As String
cmd.Parameters.Add(New SqlParameter("@ProductName",
txtNewWebinarName.Text))
cmd.Parameters.Add(New SqlParameter("@CreateUser",
System.Web.HttpContext.Current.User.Identity.Name))
cmd.Parameters.Add(New SqlParameter("@ModifyUser",
System.Web.HttpContext.Current.User.Identity.Name))
cmd.Parameters.Add(New SqlParameter("@LaunchDate", txtDateTime.Text))
cmd.Parameters.Add(New SqlParameter("@Duration", txtDuration.Text))
cmd.Parameters.Add(New SqlParameter("@Presenter", txtPresenter.Text))
cmd.Parameters.Add(New SqlParameter("@Host", txtHost.Text))
cmd.Parameters.Add(New SqlParameter("@Broker", txtBroker.Text))
cn.Open()
ProductID = cmd.ExecuteScalar()
Session("ProductID") = ProductID
Dim Product As String = Session("ProductID")
End Using
cn.Close()
並且希望該值什麼轉換爲int? 1? 100?因爲這不是一個整數! – gbianchi
假設'txtDuration.Text'是一個TimeSpan,你想將它存儲爲小時,分鐘,秒,毫秒或什麼? –
對不起,@Duration是一段時間,比如01:00,需要轉換爲1. 02:00轉換爲2,依此類推。 – jlg