2011-06-23 17 views
0

我使用的是选择其中field.table =” + FOO;查询,并没有返回数据困惑,为什么datareader用参数返回空吗?

public Submission GetSubmissionsByID(string x) 
{ 


     string viewQuery = "SELECT Submission.SubmissionId, Submission.CustId, Submission.BroId, Submission.Coverage, Submission.CurrentCoverage, Submission.PrimEx, Submission.Retention, Submission.EffectiveDate, Submission.Commission, Submission.Premium, Submission.Comments FROM Submission WHERE Submission.SubmissionId =" + x; 
     string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; 
     using (SqlConnection conn = new SqlConnection(connectionString)) 
     { 
      conn.Open(); 

      SqlCommand viewCmd = new SqlCommand(viewQuery, conn); 
      SqlDataReader dr = null; 
      dr = viewCmd.ExecuteReader(); 
      Submission tempSubmission = new Submission(); 

      tempSubmission.SubmissionId1 = dr.GetInt32(0); 
      tempSubmission.CustomerId1 = dr.GetInt32(1); 
      tempSubmission.BrokerId1 = dr.GetInt32(2); 
      tempSubmission.Coverage1 = dr.GetInt32(3); 
      tempSubmission.CurrentCoverage1 = dr.GetInt32(4); 
      tempSubmission.PrimEx1 = dr.GetInt32(5); 
      tempSubmission.Retention1 = dr.GetInt32(6); 
      tempSubmission.EffectiveDate1 = dr.GetDateTime(7); 
      tempSubmission.Commission1 = dr.GetInt32(8); 
      tempSubmission.Premium1 = dr.GetInt32(9); 
      tempSubmission.Comment1 = dr.GetString(10); 

      return tempSubmission; 
     } 
} 

叫了起来这里,在这里查询值X是有效的,与数据。该行。也失败与X设定恒/有效值。

string x = Request.QueryString["SubmissionId"]; 

    SubmissionService ss = new SubmissionService(); 
    Submission sub = ss.getSubmissionByID(x); 
+0

什么viewQuery样子连接后? – gbn

回答

3

你必须调用Read()前进到第一个记录。

 dr = viewCmd.ExecuteReader(); 
     if(dr.Read()) 
     { 
     Submission tempSubmission = new Submission(); 

     tempSubmission.SubmissionId1 = dr.GetInt32(0); 
     tempSubmission.CustomerId1 = dr.GetInt32(1); 
     tempSubmission.BrokerId1 = dr.GetInt32(2); 
     tempSubmission.Coverage1 = dr.GetInt32(3); 
     tempSubmission.CurrentCoverage1 = dr.GetInt32(4); 
     tempSubmission.PrimEx1 = dr.GetInt32(5); 
     tempSubmission.Retention1 = dr.GetInt32(6); 
     tempSubmission.EffectiveDate1 = dr.GetDateTime(7); 
     tempSubmission.Commission1 = dr.GetInt32(8); 
     tempSubmission.Premium1 = dr.GetInt32(9); 
     tempSubmission.Comment1 = dr.GetString(10); 

     return tempSubmission; 
     } 
     return null; 
+0

对我来说还有另一个*呃*时刻。谢谢,@Bala。 –