2017-05-31 8 views
0

次はSQLからデータを取得するためのコンソールアプリケーションコードです。データリーダーからフロントエンドにデータを取得

 using (SqlConnection con = new SqlConnection("server=fcpcdb02; database=campus6; user id=; password=;")) 
     { 
      using (SqlCommand cmd = new SqlCommand()) 
      { 
       cmd.Connection = con; 

       cmd.CommandText = "select * from [Campus6].[dbo].[TRANSCRIPTDETAIL] where FINAL_GRADE='I' and ACADEMIC_YEAR = '2017' and ACADEMIC_TERM='02TERM'"; 
       cmd.Connection.Open(); 
       using (SqlDataReader sqlRdr = cmd.ExecuteReader()) 
       { 
        // table = new DataTable(); 
        // table.Load(reader); 
        if (sqlRdr.HasRows) 
        { 
         while (sqlRdr.Read()) 
         { 
          id = (sqlRdr["PEOPLE_CODE_ID"].ToString()); 
          subname = (sqlRdr["EVENT_LONG_NAME"].ToString()); 
          eventid = (sqlRdr["EVENT_ID"].ToString()); 

          year1 = (sqlRdr["ACADEMIC_YEAR"].ToString()); 
          term = (sqlRdr["ACADEMIC_TERM"].ToString()); 
          session = (sqlRdr["ACADEMIC_SESSION"].ToString()); 
          subtype = (sqlRdr["EVENT_SUB_TYPE"].ToString()); 
          section = (sqlRdr["SECTION"].ToString()); 
          orgcode = (sqlRdr["ORG_CODE_ID"].ToString()); 
         } 

そして、これは、HTMLファイル

TextWriter tw = File.CreateText(@"C:\Users\sganatra\Documents\Visual Studio 2015\Projects\incompletechange\files\" + year1 + "" + term + ".html"); 


          string template = System.IO.File.ReadAllText((@"C:\Users\sganatra\Documents\Visual Studio 2015\Projects\incompletechange\files\changegrade.html")); 

          tw.WriteLine("" + template + ""); 
          Console.WriteLine("Text created"); 
          tw.Close(); 
          Console.WriteLine(Console.Read()); 

を生成するための私のコードである今、私がやろうとしていたいが、データリーダーから値を取得し、それをダウンロードする前に、HTMLに保存しています。私は彼らが.aspxファイルのために働くいくつかのオプションをgoggledと私はそれにデータを取得しますが、私はそれをHTMLに変換するダウンロード時に私はすべてのデータを見ることができません。

+0

これは最小、完全、かつ検証可能なコード例ですか?このhttps://stackoverflow.com/help/mcveに従って質問を改善する機会はありますか? –

+0

aspxにはすでにタグが挿入されているので、htmlです。ストレートテキストファイルにはタグがないため、ソフトウェアにタグを追加する必要があります。データテーブルをhtmlに変換する例については、次の投稿を参照してください。https://stackoverflow.com/questions/9792882/creating-html-from-a-datatable-using-c-sharp – jdweng

+1

@QualityCatalyst望ましくないコードを削除しました。 – Naive

答えて

0

テンプレートにプレースホルダを設定する必要があります。テンプレートがアプリケーションにロードされたら、Replace(string, string)メソッドを使用して空白を埋め込む必要があります。

クエリが1つ以上のレコードを返す可能性があります。リーダールーチンはすべてのレコードを繰り返し処理するだけで、文字列変数には最後のレコードの値が含まれます。このような場合は、一般的なデザインを再検討することをお勧めします。これらのレコードをすべて書き出すには、テンプレートシステムが `while(Read) 'ループ内にある必要があります

次の不完全な例では、テンプレート内のプレースホルダをdoubleポンド記号(すなわち、##Placeholder##)。

// earlier code 
string template = System.IO.File.ReadAllText((@"C:\Users\sganatra\Documents\Visual Studio 2015\Projects\incompletechange\files\changegrade.html")); 

template.Replace("##id##", id); 
template.Replace("## subname##", subname); 
template.Replace("##eventid##", eventid); 
// and so on for year1 => orgcode 

tw.WriteLine("" + template + ""); 
// and the rest of your code 
関連する問題