연결 삽입을 매개 변수로 바꿀 때 INSERT
이 데이터베이스에 저장을 중단했습니다.C#이 SQL Server에 데이터를 저장하지 않습니다.
내가 사용
Int32 rowsAffected = cmd.ExecuteNonQuery();
var totalRecords = (new SqlCommand("SELECT COUNT(*) FROM dbo.EmpInfo", cmd.Connection)).ExecuteNonQuery();
MessageBox.Show("RowsAffected: " + rowsAffected.ToString());
MessageBox.Show("Total Records: " + totalRecords);
하지만 다음, 반환 값은 RowsAffected
1, 및 totalRecords
-1이다. 영향을받는 행의
if (Status == RegistrationStatus.r_OK)
{
String query = "INSERT INTO dbo.EmpInfo(EmpYear, EmpStatus, LName, FName, JobTitle, EmpPay, EmpDoB, EmpSex, EmpAddr, EmpCity, EmpState, EmpZIP, EmpCountry, EmpEAddr, EmpTelNo, EmpMobileNo, EmpDate) VALUES (@EmpYear, @EmpStatus, @LName, @FName, @JobTitle, @EmpPay, @EmpDoB, @EmpSex, @EmpAddr, @EmpCity, @EmpState, @EmpZIP, @EmpCountry, @EmpEAddr, @EmpTelNo, @EmpMobileNo, getdate())";
using (SqlConnection conn = new SqlConnection("Data Source=RB-DESKTOP;Initial Catalog=TimeDB;Persist Security Info=True;User ID=sa;Password=bautista7"))
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
using (SqlCommand cmd = new SqlCommand(query, conn))
{
using (SqlTransaction transaction = conn.BeginTransaction())
{
cmd.Connection = conn;
cmd.Transaction = transaction;
ParameterName = "@EmpYear", Value = EmpYear });
cmd.Parameters.AddWithValue("@EmpYear", EmpYear);
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpStatus", Value = "Active" });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@LName", Value = regLname_text.Text });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@FName", Value = regFname_text.Text });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@JobTitle", Value = "NULL" });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpPay", Value = PayType_cb.SelectedItem.ToString()});
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpDoB", Value = regDob_dtp.Value.Date });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpSex", Value = gender });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpAddr", Value = regAddr_text.Text });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpCity", Value = regCity_text.Text });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpState", Value = regState_text.Text });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpZIP", Value = regZip_text.Text });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpCountry", Value = regCountry_text.Text });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpEAddr", Value = regEmail_text.Text });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpTelNo", Value = regTel_text.Text });
cmd.Parameters.Add(new SqlParameter() { ParameterName = "@EmpMobileNo", Value = regMob_text.Text});
cmd.ExecuteNonQuery();
transaction.Commit();
당신은'INT32 rowsAffected = cmd.ExecuteNonQuery()에서 포스트 – Massanu
에 암호를 숨길해야합니까? –
사용 ExecuteScalar는()'(새하는 SqlCommand ("SELECT COUNT (*) dbo.EmpInfo FROM", cmd.Connection)). ExecuteScalar는()'추가 –