-3
我无法使用C#中的存储过程将数据插入到SQL Server中 - 请帮助。数据未插入到SQL Server数据库中
string sqlConnectionString = ConfigurationManager.ConnectionStrings["SQLConnectionString"].ConnectionString;
using (SqlConnection sqlConnection = new SqlConnection(sqlConnectionString))
{
using (SqlCommand command = new SqlCommand("AddFromExcel", sqlConnection))
{
command.CommandType = CommandType.StoredProcedure;
command.CommandTimeout = 0;
try
{
sqlConnection.Open();
SqlParameter parameter = new SqlParameter();
for (int i = 0; i < dtExport.Rows.Count ; i++)
{
command.Parameters.Clear();
SqlParameter parameter1 = new SqlParameter();
parameter1.ParameterName = "@FamilyName";
parameter1.SqlDbType = SqlDbType.NVarChar;
parameter1.Direction = ParameterDirection.Input;
var value = Convert.ToString(dtExport.Rows[i]["Family"]);
command.Parameters.AddWithValue("@FamilyName", value);
SqlParameter parameter2 = new SqlParameter();
parameter2.ParameterName = "@ExecutionName";
parameter2.SqlDbType = SqlDbType.NVarChar;
parameter2.Direction = ParameterDirection.Input;
parameter2.Value = Convert.ToString(dtExport.Rows[i]["Execution"]);
command.Parameters.AddWithValue("@ExecutionName", value);
SqlParameter parameter3 = new SqlParameter();
parameter3.ParameterName = "@VariantCode";
parameter3.SqlDbType = SqlDbType.NVarChar;
parameter3.Direction = ParameterDirection.Input;
parameter3.Value = Convert.ToString(dtExport.Rows[i]["VariantCode"]); //this is column name in Excel
command.Parameters.AddWithValue("@VariantCode", value);
SqlParameter parameter4 = new SqlParameter();
parameter4.ParameterName = "@FamilyDenomination";
parameter4.SqlDbType = SqlDbType.NVarChar;
parameter4.Direction = ParameterDirection.Input;
parameter4.Value = Convert.ToString(dtExport.Rows[i]["Family Denomination"]);
command.Parameters.AddWithValue("@FamilyDenomination", value);
SqlParameter parameter5 = new SqlParameter();
parameter4.ParameterName = "@ExcecutionDenomination";
parameter4.SqlDbType = SqlDbType.NVarChar;
parameter4.Direction = ParameterDirection.Input;
parameter4.Value = Convert.ToString(dtExport.Rows[i]["Execution Denomination"]);
command.Parameters.AddWithValue("@ExcecutionDenomination", value);
SqlParameter parameter6 = new SqlParameter();
parameter4.ParameterName = "@ReleasDatestring";
parameter4.SqlDbType = SqlDbType.NVarChar;
parameter4.Direction = ParameterDirection.Input;
parameter4.Value = Convert.ToString(dtExport.Rows[i]["Release Date"]);
command.Parameters.AddWithValue("@ReleasDatestring", value);
SqlParameter parameter7 = new SqlParameter();
parameter7.ParameterName = "@Validfromstring";
parameter7.SqlDbType = SqlDbType.NVarChar;
parameter7.Direction = ParameterDirection.Input;
parameter7.Value = Convert.ToString(dtExport.Rows[i]["Valid From"]);
command.Parameters.Add(parameter7);
command.ExecuteNonQuery();
}
}
catch (SqlCeException ex)
{
string w = ex.Message.ToString();
//MessageBox.Show("Error",
// "Error in Write to .: "
// + ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
}
}
}
}
这里存储过程工作正常,即使在运行程序时,我没有得到任何错误。 但数据没有得到插入
你不是真的这样做在catch块东西。你能否注释try/catch来查看是否有任何异常? –
不,我没有得到任何异常,甚至数据也没有被插入 –
检查您的参数定义。你已经声明了参数5,6和7,但是在定义中它仍然使用参数4。请更正代码。 –