第一次我正在从ASP.NET/C#执行插入操作,并遇到一些小问题。每次运行此代码时,我都会收到以下错误:“ExecuteNonQuery:CommandText属性尚未初始化”有谁知道这意味着什么,以及我如何修复它?C#数据库插入(ASP.NET) - ExecuteNonQuery:CommandText属性尚未初始化
在此先感谢!
string sqlQuery = "INSERT INTO ATI_LOG_IO (Date, Connect_Time, Disconnect_Time, ATI_Rep, Reason_For_Access, Property_Contact, Case_Number, Comments, Property_ID)";
sqlQuery += "VALUES (@Today, @Connect, @Disconnect, @Rep, @Reason, @Contact, @CaseNum, @Comments, @PropertyID)";
using (SqlConnection dataConnection = new SqlConnection(connectionString))
{
using (SqlCommand dataCommand = dataConnection.CreateCommand())
{
dataConnection.Open();
dataCommand.CommandType = CommandType.Text;
dataCommand.CommandText = sqlQuery;
dataCommand.Parameters.Add("@Today", DateTime.Today.ToString());
dataCommand.Parameters.Add("@Connect", txtInDate.Text + " " + fromHrs.Text + ":" + fromMins.Text + ":00");
dataCommand.Parameters.Add("@Disconnect", txtOutdate.Text + " " + toHrs.Text + ":" + fromMins.Text + ":00");
dataCommand.Parameters.Add("@Rep", repID);
dataCommand.Parameters.Add("@Reason", txtReason.Text);
dataCommand.Parameters.Add("@Contact", txtContact.Text);
dataCommand.Parameters.Add("@CaseNum", txtCaseNum.Text);
dataCommand.Parameters.Add("@Comments", txtComments.Text);
dataCommand.Parameters.Add("@PropertyID", lstProperties.SelectedValue);
dataCommand.ExecuteNonQuery();
dataConnection.Close();
}
}
'SqlParameterCollection.Add方法(String,对象)'是过时的。 http://msdn.microsoft.com/en-us/library/9dd8zze1%28v=vs.80%29.aspx。试试这些:使用'@' - >'Parameters.Add(SqlParameter)','Parameters.AddRange(SqlParameter [])'或者没有'@' - >'Parameters.AddWithValue(String,Object)' – Jaider 2013-01-02 21:23:53