2014-06-08 190 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 + "';"