0

挿入したデータをデータベースに保存するのに問題があります。Visual Studio内で作成されたmdfファイルを使用している場合、機能しません。SQL Server 2008から作成したdboファイルを使用している場合、挿入したデータをデータベースに保存しようとすると、うまく機能しました。

ストアドプロシージャを使用しています。エラーは発生していません。私を助けてください。

sqlcommandを使用したコードは次のとおりです。

 SqlConnection myConn = new SqlConnection(@"Data Source=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|\FifthColumn.mdf; Integrated Security=True; User Instance=True");
 myConn.Open();
 SqlCommand mycommand = myConn.CreateCommand();
 mycommand.CommandText = "InsertIncident";
 mycommand.CommandType = CommandType.StoredProcedure;
 mycommand.Parameters.Add("@Country", SqlDbType.NChar, 2, "Country").Value = inputCountry;
 mycommand.Parameters.Add("@IncidentTypeID", SqlDbType.NChar, 2, "Country").Value = inputIncidentTypedID;
 mycommand.Parameters.Add("@AgentID", SqlDbType.NChar, 2, "Country").Value = inputAgentID;
 mycommand.Parameters.Add("@incidentDate", SqlDbType.SmallDateTime).Value = inputID;
 mycommand.ExecuteNonQuery();
 myConn.Close();

dataadapterを使用したコードは次のとおりです。

 SqlConnection myConn = new SqlConnection(@"Data Source=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|\FifthColumn.mdf; Integrated Security=True; User Instance=True");
 SqlDataAdapter myDA = new SqlDataAdapter();
 myConn.Open();
 myDA.InsertCommand = myConn.CreateCommand();
 myDA.InsertCommand.CommandText = "InsertIncident";
 myDA.InsertCommand.CommandType = CommandType.StoredProcedure;
 myDA.InsertCommand.Parameters.Add("@Country", SqlDbType.NChar, 2, "Country").Value = inputCountry;
 myDA.InsertCommand.Parameters.Add("@IncidentTypeID", SqlDbType.NChar, 2, "Country").Value = inputIncidentTypedID;
 myDA.InsertCommand.Parameters.Add("@AgentID", SqlDbType.NChar, 2, "Country").Value = inputAgentID;
 myConn.Close();
4

1 に答える 1

0

データアダプタは自動的に接続を開閉します。データアダプタを使用する場合は、接続を開いたり閉じたりする必要はありません。

第二に、データアダプターは主にデータアダプターのfillメソッドを使用してデータベースからデータセットにブロックデータをフェッチするために使用されます。

データアダプタのinsertコマンドまたはupdateコマンドプロパティを使用して、任意のデータを挿入または更新できます。使用する前に、コマンドオブジェクトに割り当てる必要があります。

于 2011-11-13T14:11:12.650 に答える