1

SQL サーバーから切り離され、ソリューション エクスプローラーの APP_DATA フォルダーに追加された mdf ファイルにデータを保存しようとしていますが、それができません。あなたの助けに感謝します。ありがとうございました!これが私のコードです:

    Dim con As New SqlConnection
    Dim cmd As New SqlCommand

    Dim EmployeeNo As Integer
    Dim EmployeeName As String
    Dim SupervisorName As String
    Dim DateCreated As Date
    Dim WeekRange As String
    Dim MonthRange As String
    Dim ScheduleIn As String
    Dim ScheduleOut As String
    Dim WorkStatus As String

    EmployeeNo = EmpNoText.Text
    EmployeeName = EmpNameText.Text
    SupervisorName = TeamLeadDropDown.Text
    DateCreated = DateCreatedTextBox.Text
    WeekRange = WeekRangeTextBox.Text
    MonthRange = MonthDropDown.Text
    ScheduleIn = ScheduleInBox.Text
    ScheduleOut = ScheduleOutBox.Text
    WorkStatus = StatusDropDown.Text


    Try
        con.ConnectionString = "Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\JIBKPI.mdf;Initial Catalog=JIBKPI;Integrated Security=True"
        con.Open()
        cmd.Connection = con
        cmd.CommandText = "INSERT INTO AgentAttendance ([EmployeeNo], [EmployeeName], [SupervisorName], [DateCreated], [WeekRange], [MonthRange], [ScheduleIn], [ScheduleOut], [WorkStatus]) VALUES (@EmployeeNo, @EmployeeName, @SupervisorName, @DateCreated, @WeekRange, @MonthRange, @ScheduleIn, @ScheduleOut, @WorkStatus,)"
        cmd.ExecuteNonQuery()
        MsgBox("Successfuly saved!", MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
    Catch ex As Exception
        MsgBox("Error: Unable to save data.")
    Finally
        con.Close()
    End Try

私のweb.configでは、接続文字列は次のとおりです。

<connectionStrings>
<add name="JIBKPIConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=&quot;C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\JIBKPI.mdf&quot;;Initial Catalog=JIBKPI;Integrated Security=True" providerName="System.Data.SqlClient"/>

4

1 に答える 1

3

コードを見ると、最初に気付くのは、クエリでパラメーターを使用していることです。

cmd.CommandText = "INSERT INTO AgentAttendance ([EmployeeNo], [EmployeeName], [SupervisorName], [DateCreated], [WeekRange], [MonthRange], [ScheduleIn], [ScheduleOut], [WorkStatus]) VALUES (@EmployeeNo, @EmployeeName, @SupervisorName, @DateCreated, @WeekRange, @MonthRange, @ScheduleIn, @ScheduleOut, @WorkStatus,)"

しかし、実際にこれらのパラメーターを設定したことはありません。したがって、クエリを実行する前に、これらのパラメーターを作成する必要があります。何かのようなもの:

cmd.Parameters.Add("@EmployeeNo", SqlDbType.Int)
command.Parameters("@EmployeeNo").Value = EmployeeNo
etc...

次に、クエリを実行します。

cmd.ExecuteNonQuery()

また、web.config で接続文字列を使用する場合は、AttachDbFilename から両方の " を削除します。

これを変える:

AttachDbFilename=&quot;C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\JIBKPI.mdf&quot;

これに:

AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\JIBKPI.mdf

編集: @WorkStatus の後のクエリから最後のコンマを削除します

 @WorkStatus,)"

になる

 @WorkStatus)"
于 2013-08-05T12:26:35.270 に答える