2014-06-08 116 views
-5

你好:)我有一個連接到sql server數據庫的winform(c#)應用程序,該數據庫記錄玩過應用程序遊戲的玩家的名字,分數和日期。我的問題是這樣的:我有2個文本框,我想在其中輸入開始日期和結束日期。我該如何做選擇,以便它只返回在兩個文本框的輸入日期之間玩過的用戶?我目前得到一個錯誤,說我必須聲明標量變量@ParamC#Sql文本框選擇

private void button3_Click(object sender, EventArgs e) 
    { 
     string ssr; 
     SqlConnection scr = new SqlConnection(@"Data Source=USER-PC\MSSQL;Initial Catalog=Highscore;Integrated Security=True"); 
     scr.Open(); 
     ssr = "Select Nume,Scor,DataInitiala,DataRecenta FROM Users where DataInitiala between @Param and @Param1 "; 
     SqlCommand cmd2 = new SqlCommand(ssr, scr); 
     cmd2.Parameters.AddWithValue("@Param", from.Text); 
     cmd2.Parameters.AddWithValue("@Param1", to.Text); 
     SqlDataAdapter adapter1 = new SqlDataAdapter(ssr, scr); 
     DataSet ds1 = new DataSet(); 
     adapter1.Fill(ds1); 
     dataGridView1.DataSource = ds1.Tables[0]; 
     dataGridView1.Refresh(); 


    } 
+0

請發表你寫到目前爲止 – Steve

+0

請添加表架構也代碼。 – Horaciux

+0

你已經在你的代碼中實現了參數,但是沒有在你的'ssr'字符串中使用它們? –

回答

0

你沒有提供有關該問題的任何信息,你有那麼我想你忘記的東西被添加from.Textto.Text周圍所需'在你選擇命令。另外,您應該使用Date驗證來驗證給定文本是否爲日期。

  DateTime dtfrom; 
      DateTime dtto; 

      if(DateTime.TryParse(from.Text,out dtfrom) && DateTime.Parse(to.Text,out dtto);) 
      { 

       string from = dtfrom.ToShortDateString(); 
       string to = dtto.ToShortDateString(); 
      } 
      else 
      { 
       //Parsing Error 
      } 

你選擇命令應該是:

Select Nume,Score,Ora,LunaAn,UpdatedData FROM TEST3 where LunaAn between '" + from + "' and '" + to + "';"