2017-01-17 9 views
0

約1週間前にServer.HtmlDecode(string)について質問しました。HtmlDecode。私は自分のlocalhost上で正しく動作させることができました。私はライブウェブサイトにすべてを押し込んだ私は以前に持っていたのと同じ問題をまだ得ている。  はまだSQLデータベースに格納されています。server.htmldodeはlocalhostで動作しますが、ライブをプッシュすると動作しません。C#

これは、テキストボックスの文字列をデコードし、データベースの新しいテーブルに挿入するコードです。再度、これは私がデバッグしているときに期待どおりに動作しています。

private void createInvoiceQueue() 
{ 
    string db = ConfigurationManager.ConnectionStrings["LakeEncroManSys"].ConnectionString; 
    using (SqlConnection conn = new SqlConnection(db)) 
    { 
     using (SqlCommand querycmd = new SqlCommand("Select Count(*) from tblInvprintqueue", conn)) 
     { 
      querycmd.Connection.Open(); 
      int sqlResult = (int)querycmd.ExecuteScalar(); 
      querycmd.Connection.Close(); 
      try 
      { 
       SqlCommand ExecSP = new SqlCommand("spCreateInvoicePrintQueue", conn); 
       ExecSP.CommandType = CommandType.StoredProcedure; 
       ExecSP.Connection.Open(); 
       sdr = ExecSP.ExecuteReader(); 
       while (sdr.Read()) 
       { 
        lblError.Visible = true; 
        lblError.Text = "Invoices are being created."; 
       } 
       ExecSP.Connection.Close(); 
      } 
      catch (System.Exception excep) 
      { 
       MessageBox.Show(excep.Message); 
      } 
      finally 
      { 
       for (int i = 0; i < GridView1.Rows.Count; i++) 
       { 
        GridViewRow row = GridView1.Rows[i]; 
        if (GridView1.Visible) 
        { 
         SqlCommand insertInvoice = new SqlCommand("Insert into tblInvPrintQueue ([InvoiceNumber],[EncID],[EncType],[ParcelID],[AmountDue],[DateInvoice],[DateDue],[NumSlips],[FullName],[Addr1],[Addr2],[Addr3],[Note],[PermitYear]) " + 
          "Values (@InvNum,@EncID,@EncType,@ParcelID,@AmountDue,@DateInv,@DateDue,@NumSlips,@FullName,@Addr1,@Addr2,@Addr3,@Note,@PermitYear)", conn); 
         insertInvoice.Connection.Open(); 
         insertInvoice.Parameters.AddWithValue("@InvNum", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[0].Text); 
         insertInvoice.Parameters.AddWithValue("@EncID", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[1].Text); 
         insertInvoice.Parameters.AddWithValue("@EncType", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[2].Text); 
         insertInvoice.Parameters.AddWithValue("@ParcelID", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[3].Text); 
         insertInvoice.Parameters.AddWithValue("@AmountDue", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[4].Text); 
         insertInvoice.Parameters.AddWithValue("@DateInv", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[5].Text); 
         insertInvoice.Parameters.AddWithValue("@DateDue", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[6].Text); 
         insertInvoice.Parameters.AddWithValue("@NumSlips", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[7].Text); 
         insertInvoice.Parameters.AddWithValue("@FullName", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[8].Text); 
         insertInvoice.Parameters.AddWithValue("@Addr1", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[9].Text); 
         insertInvoice.Parameters.AddWithValue("@Addr2", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[10].Text); 
         insertInvoice.Parameters.AddWithValue("@Addr3", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[11].Text); 
         insertInvoice.Parameters.AddWithValue("@Note", SqlDbType.NVarChar).Value = Server.HtmlDecode(row.Cells[12].Text); 
         insertInvoice.Parameters.AddWithValue("@PermitYear", SqlDbType.NVarChar).Value = DateTime.Parse(LeaseYear).Year; 
         insertInvoice.ExecuteNonQuery(); 
         insertInvoice.Connection.Close(); 
        } 
       } 
      } 
     } 
    } 
} 
+0

有効なHTMLトークンではないため、HTMLDecodeを使用して他のものに変換されることはありません。末尾のセミコロンがありません。また、アドホッククエリでAddWithValueを使用しているので、この記事を覗いてみてください。 http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/ –

+0

@SeanLange  がデータベースに保存されています。私は私の質問でセミコロンを見逃した。 – kevorski

答えて

0

私が持っていた問題を把握することができました。ソースコードを複数保存していたことが判明し、間違ったソースコードを使用していました。ネットワークドライブとIISに入った後、私は正しいソースコードを見つけて、HTML文字コードを保存していない修正を押すことができました。

関連する問題