[英]Saving values from datetimepicker to SQL Server database
When I try to save the details I get an error message saying the following. 当我尝试保存详细信息时,我收到一条错误消息,内容如下。
enter image description here 在此处输入图片说明
How do I convert this to string value? 如何将其转换为字符串值? Thanks in advance!
提前致谢! Here is my C# code and the error message.
这是我的C#代码和错误消息。
private void button1_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\GCSCFC.mdf;Integrated Security=True;Connect Timeout=30");
try
{
string sql = "INSERT INTO Leave (Employee_ID, Leave_Type,Leave_Date,Leave_Time_From, Leave_Time_To) values('" + txtEmpID.Text + "','" + cmbLeaveType.Text + "','" + PickerLeaveDate.Text + "','" + txtTimeFrom.Text + "','" + txtTimeTo.Text + "')";
SqlCommand exesql = new SqlCommand(sql, cn);
cn.Open();
exesql.ExecuteNonQuery();
MessageBox.Show("New Employee Added Successfully!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
cn.Close();
}
}
Use parameters when database column is a DataTime like code below 当数据库列是DataTime之类的代码时使用参数
private void button1_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\GCSCFC.mdf;Integrated Security=True;Connect Timeout=30");
try
{
string sql = "INSERT INTO Leave (Employee_ID, Leave_Type,Leave_Date,Leave_Time_From, Leave_Time_To) values('" + @txtEmpID + "','" + @cmbLeaveType + "','" + @PickerLeaveDate + "','" + @txtTimeFrom + "','" + @txtTimeTo + "')";
SqlCommand exesql = new SqlCommand(sql, cn);
exesql.Parameters.Add("@txtEmpID", SqlDbType.VarChar);
exesql.Parameters.Add("@cmbLeaveType", SqlDbType.VarChar);
exesql.Parameters.Add("@PickerLeaveDate", SqlDbType.DateTime);
exesql.Parameters.Add("@txtTimeFrom", SqlDbType.VarChar);
exesql.Parameters.Add("@txtTimeTo", SqlDbType.VarChar);
exesql.Parameters["@txtEmpID"].Value = txtEmpID.Text;
exesql.Parameters["@cmbLeaveType"].Value = cmbLeaveType.Text;
exesql.Parameters["@PickerLeaveDate"].Value = PickerLeaveDate.Value;
exesql.Parameters["@txtTimeFrom"].Value = txtTimeFrom;
exesql.Parameters["@txtTimeTo"].Value = txtTimeTo.Text;
cn.Open();
exesql.ExecuteNonQuery();
MessageBox.Show("New Employee Added Successfully!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
cn.Close();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.