在C#和WPF中显示DateTime
本文关键字:显示 DateTime WPF | 更新日期: 2023-09-27 18:29:26
我在第一个窗口中选择了一个DateTime变量,并试图在第二个窗口中显示。它按照应该的方式连接到数据库,但它显示的是来自数据库的随机数据,而不是选定的数据。这是代码:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Are you sure?");
Window1 win1 = new Window1();
win1.Show();
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
{
string connectionString = null;
SqlConnection cnn;
connectionString =
@"Data Source=IBWS05'MSSQLSERVER2012;Initial Catalog=Interview;Integrated Security=True";
try
{
SqlConnection con =
new SqlConnection(
@"Data Source=IBWS05'MSSQLSERVER2012;Initial Catalog=Interview;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
con.Open();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText =
"insert into [Event] (Description,StartData,EndData,Type) values (@description,@startdata,@endata,@type)";
cmd.Parameters.AddWithValue("description", descriptionTxt.Text);
cmd.Parameters.AddWithValue("startData", StartDate.Value);
cmd.Parameters.AddWithValue("endata", EndDate.Value);
cmd.Parameters.AddWithValue("type", typeTxt.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Data Saved");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
////Window2 win = new Window2(id);
//Window2 win3 = new Window2();
//this.Close();
//win3.Show();
SqlConnection conn =
new SqlConnection(
@"Data Source=IBWS05'MSSQLSERVER2012;Initial Catalog=Interview;Integrated Security=True");
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
comm.CommandType = CommandType.Text;
int query= Convert.ToInt32(comm.CommandText = "select MAX(StartData) from [Events]");
Window2 win = new Window2(query);
win.Show();
}
错误是输入字符串的格式不正确。如何转换?
您需要在代码中查看/考虑以下几点,首先是您的问题。这行代码:
int query= Convert.ToDateTime(comm.CommandText = "select MAX(DateTime) from [Events]");
不会实现你想要的,因为你没有执行代码。实际上,您正在尝试将命令对象转换为日期时间。
在方法的早期,您正在向数据库进行写入,其中一部分您调用以下内容:
cmd.ExecuteNonQuery();
在命令对象上还有各种其他方法,它们都以不同的方式工作。要了解有关它们的信息,请访问此MSDN页面,但本质上,您可能想使用ExecuteScalar方法来完成您要做的事情。
接下来,我将考虑将连接字符串移动到app.config文件并从那里访问它,而不是多次键入它。
最后,我将为您的每个Connection使用一个using语句,以便确保它们得到正确处理。
只是一些额外的思考食物。