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();
}
}
}
}
}
}
有効なHTMLトークンではないため、HTMLDecodeを使用して他のものに変換されることはありません。末尾のセミコロンがありません。また、アドホッククエリでAddWithValueを使用しているので、この記事を覗いてみてください。 http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/ –
@SeanLange がデータベースに保存されています。私は私の質問でセミコロンを見逃した。 – kevorski