0

私はWPFアプリケーションを持っています。dateは私のテーブルで、その 2 つの列はemployeename( varchar(10)) とdate( datetime)です

私のコードは次のとおりです。

Sqlconncetion con = new Sqlconnection("my database connection ");    
SqlCommand cmd = new SqlCommand("insert into date values('"+textBox1.Text+"','"+datePicker1.Text+"')", con);    
con.Open();               
int n = cmd.ExecuteNonQuery();                
if (n > 0)
{
    MessageBox.Show("insert");
}

実際、私の WPFdatepickerフォーマット入力は"dd/mm/yyyy" で、SQL Server テーブルは日付フォーマットを受け入れますmm/dd/yyyy。SQL Server データ型の日付フォーマットを変更するにはどうすればよいdatetimeですか? C# のコードで解決策を教えてください。

私の仕事は、すべての名前と生年月日を表示することです。私の条件は基本的なものですが、日付選択時とボタン入力時に例外が発生します。私のコードは

SqlConnection con = new SqlConnection("my connection ");

SqlDataAdapter da = new SqlDataAdapter("select name,date from date where date between'"+ Convert.ToDateTime( datePicker2.SelectedDate)+"' and  '"+ Convert.ToDateTime( datePicker3.SelectedDate)+"'",con);

DataSet ds = new DataSet();

da.Fill(ds, "entry");

da.Dispose();

dataGrid1.DataContext = ds.Tables["entry"].DefaultView; 

コードエラーを解決し、正しいコードを書くのを手伝ってください。これは WPF アプリケーションです。

4

1 に答える 1

3

SqlParametersを使用して値をデータベースに渡します。型の安全性とパフォーマンスを提供し、SQL インジェクションを防ぎます。また、usingステートメントを使用して、データベース接続が閉じられることを保証します。

var cmdText = "INSERT INTO date VALUES(@name, @date)";

using(var con = new SqlConnection(conString))
using(var cmd = new SqlCommand(cmdText, con)) {
     cmd.Parameters.Add("@name", textBox1.Text);
     cmd.Parameters.Add("@date", datePicker1.SelectedDate);
     con.Open();
     int n = cmd.ExecuteNonQuery();
     //...
}
于 2012-11-17T11:33:38.180 に答える