2017-05-16 3 views
0

SqLデータベースのStarttimeとEndtimeの2つのコンボボックスの値を2つのコンボボックスの値に挿入しようとしていますが、 "文字列またはバイナリデータが変換され、ステートメントは終了しました。"私は現在のように別の値ではなく、時間とともにコンボボックスから選択されたAM値とPM値を表示するSQLデータを必要とします。私は&を試して、2つのコンボボックスを結合し、それらをデータに挿入しましたが運がないようにしました。2つの別々の列ではなく、SQLサーバーデータベース内の1つの列に2つのVBコンボボックスの入力を挿入する

Dim myconnect As New SqlClient.SqlConnection 
'myconnect.ConnectionString = "Data Source=DESKTOP-LFHD0UQ\SQLEXPRESS;Integrated Security=True;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL" 
'myconnect.ConnectionString = "Provider = SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=calendar2.1;Data Source=DESKTOP-LFHD0UQ\SQLEXPRESS" 
myconnect.ConnectionString = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=calendar2.1;Data Source=DESKTOP-LFHD0UQ\SQLEXPRESS" 
Dim mycommand As SqlClient.SqlCommand = New SqlClient.SqlCommand() 
mycommand.Connection = myconnect 
mycommand.CommandText = "INSERT INTO CalendarData3 (Date,Title,Description,StartTime,EndTime,eAMPM,sAMPM) VALUES (@Date,@Title,@Description,@StartTime,@EndTime,@eAMPM,@sAMPM)" 
myconnect.Open() 

Try 
    mycommand.Parameters.Add("@Date", SqlDbType.Date).Value = txtDate.Text 
    mycommand.Parameters.Add("@Title", SqlDbType.NChar).Value = title.Text 
    mycommand.Parameters.Add("@Description", SqlDbType.NChar).Value = description.Text 
    mycommand.Parameters.Add("@StartTime", SqlDbType.NChar).Value = starttime.Text & sampm.Text 
    mycommand.Parameters.Add("@EndTime", SqlDbType.NChar).Value = endtime.Text & eampm.Text 
    mycommand.Parameters.Add("@eAMPM", SqlDbType.NChar).Value = eampm.Text 
    mycommand.Parameters.Add("@sAMPM", SqlDbType.NChar).Value = sampm.Text 



    intRetVal = mycommand.ExecuteNonQuery() 

答えて

0

データベース "CalendarData3"の2つの列 "StartTime"と "EndTime"のフィールドサイズが十分に大きくないと思われます。

は、彼らが「starttime.Text & sampm.Text」と「endtime.Text & eampm.Text」

+0

のためのデータを保持できることを確認してください、私はそれを試してみますありがとうございます! – Shania

+0

はい、うまくいきました!どうもありがとうございました – Shania

関連する問題