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();

这是使用数据适配器的代码:

 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

数据适配器自动打开和关闭连接。如果您使用数据适配器,则无需打开或关闭连接。

其次,数据适配器主要用于通过数据适配器的填充方法将块数据从数据库中提取到数据集中。

您可以使用数据适配器的插入命令或更新命令属性来插入或更新任何数据。它们必须在使用前分配给命令对象。

于 2011-11-13T14:11:12.650 回答