1
我想从monthCalender1
中选择日期并从SQL Server表中检索我的数据。但我得到的异常信息从日历中获取选定日期并将其保存到sql server
无法转换为datetime格式
SQL Server表的日期格式是 “DD/MM/YYYY”
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
rtbDocument.Clear();
SqlConnection cn = null;
SqlCommand cmd = null;
SqlDataReader reader = null;
string date = monthCalendar1.SelectionRange.ToString();
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-CA");
DateTime dt = DateTime.Parse(date); //uses the current Thread's culture
CultureInfo provider = CultureInfo.InvariantCulture;
textBox1.Text = date;
try
{
cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\User\Desktop\myproject_c#\diary\photogallery\RicherTextBox_src\RicherTextBox\diary.mdf;Integrated Security=True;User Instance=True;");
cn.Open();
cmd = new SqlCommand("SELECT rtf_file_content FROM rtf WHERE [email protected] AND user_rtf_id=1", cn);
cmd.Parameters.AddWithValue("@dt", dt);
reader = cmd.ExecuteReader();
reader.Read();
if (reader.HasRows)
{
if (!reader.IsDBNull(0))
{
Byte[] rtf = new Byte[Convert.ToInt32((reader.GetBytes(0, 0,
null, 0, Int32.MaxValue)))];
long bytesReceived = reader.GetBytes(0, 0, rtf, 0, rtf.Length);
ASCIIEncoding encoding = new ASCIIEncoding();
rtbDocument.Rtf = encoding.GetString(rtf, 0, Convert.ToInt32(bytesReceived));
}
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (null != reader) reader.Close();
if (null != cn) cn.Close();
}
}
我是新来的C#.thanks.this是如此有用的me.it的工作正常 –