Some C# AND SQL Server code just i have done for quote sql.Do remind is important exception for debugging output.
** Please on SQL Profiler if want to see your code in action live for easy debug.
** Some people would said better push to store procedure to validate the parameter but it kinda hard to debug.
CODE
public void create()
{
if (success == true)
{
transaction = connection.BeginTransaction();
sql = new StringBuilder();
sb = new StringBuilder();
sw = new StringWriter(sb);
sql.Append(" INSERT INTO [country] ");
sql.Append(" ( ");
sql.Append(" [countryName], [isDefault], [isNew], ");
sql.Append(" [isUpdate], [isDelete], [isActive], ");
sql.Append(" [executeBy], [executeTime] ");
sql.Append(" ) VALUES ( ");
sql.Append(" @countryName, @isDefault, @isNew, ");
sql.Append(" @isUpdate, @isDelete, @isActive, ");
sql.Append(" @executeBy, @executeTime ");
sql.Append(" ); ");
try
{
result = new SqlCommand(sql.ToString(), connection);
}
catch (SqlException ex)
{
if (Convert.ToInt32(Session["roleId"].ToString()) == 1)
{
errorMessages = new StringBuilder();
for (int i = 0; i < ex.Errors.Count; i++)
{
errorMessages.Append("Index #" + i + "|" +
"Message: " + ex.Errors[i].Message + "|" +
"LineNumber: " + ex.Errors[i].LineNumber + "|" +
"Source: " + ex.Errors[i].Source + "|" +
"Procedure: " + ex.Errors[i].Procedure + "|");
}
message = " System Problem : " + errorMessages;
}
else
{
message = "Please contact administrator " + shared.administratorEmail + "Please Come Back Later.";
}
shared.errorLogging(message.ToString(),sql.ToString());
using (JsonTextWriter json = new JsonTextWriter(sw))
{
json.WriteStartObject();
json.WritePropertyName("success");
json.WriteValue(false);
json.WritePropertyName("message");
json.WriteValue(message);
json.WriteEndObject();
}
Response.Write(sw.ToString());
sw.Close();
connection.Close();
Response.End();
}
result.Parameters.Add("@companyId", SqlDbType.Int);
result.Parameters.Add("@countryName", SqlDbType.VarChar);
result.Parameters.Add("@isNew", SqlDbType.Bit);
result.Parameters.Add("@isActive", SqlDbType.Bit);
result.Parameters.Add("@executeBy", SqlDbType.VarChar);
result.Parameters.Add("@executeTime", SqlDbType.DateTime);
result.Parameters[0].Value = Session["companyId"];
result.Parameters[1].Value = Request.Form["countryName"];
result.Parameters[2].Value = true;
result.Parameters[3].Value = true;
result.Parameters[4].Value = Session["clientName"];
result.Parameters[5].Value = DateTime.Now;
try
{
result.ExecuteNonQuery();
}
catch (SqlException ex)
{
if (Convert.ToInt32(Session["roleId"].ToString()) == 1)
{
errorMessages = new StringBuilder();
for (int i = 0; i < ex.Errors.Count; i++)
{
errorMessages.Append("Index #" + i + "|" +
"Message: " + ex.Errors[i].Message + "|" +
"LineNumber: " + ex.Errors[i].LineNumber + "|" +
"Source: " + ex.Errors[i].Source + "|" +
"Procedure: " + ex.Errors[i].Procedure + "|");
}
message = " System Problem : " + errorMessages;
}
else
{
message = "Please contact administrator " + shared.administratorEmail + "Please Come Back Later.";
}
shared.errorLogging(message.ToString(), sql.ToString());
using (JsonTextWriter json = new JsonTextWriter(sw))
{
json.WriteStartObject();
json.WritePropertyName("success");
json.WriteValue(false);
json.WritePropertyName("message");
json.WriteValue(message);
json.WriteEndObject();
}
Response.Write(sw.ToString());
sw.Close();
connection.Close();
Response.End();
}
result.Dispose();
transaction.Commit();
message = "Complete";
using (JsonTextWriter json = new JsonTextWriter(sw))
{
json.WriteStartObject();
json.WritePropertyName("success");
json.WriteValue(true);
json.WritePropertyName("message");
json.WriteValue(message);
json.WriteEndObject();
}
Response.Write(sw.ToString());
sw.Close();
connection.Close();
Response.End();
}
}