SQL Server:插入带有转义字符的文本,然后以相同的格式

时间:2016-02-22 16:32:40

标签: c# asp.net sql-server

我有一个ASP网页,它从用户那里获取一个字符串。这些字符串通常是复杂的SQL查询或代码片段,因此我需要使用\ n,\ n等字符将它们插入到数据库中。然后以相同的格式读取它,以便所有其他用户必须做的是复制代码并运行它。

问题是,当插入数据库时​​,它们会被切断。我使用的是SQL Server,这是我插入数据库的代码:

OdbcConnection conn = new OdbcConnection();
StringBuilder query = new StringBuilder();
OdbcCommand command = new OdbcCommand();

string db= null;
db = connectionstr;
conn.ConnectionString = veritabani;
conn.Open();

db = null;
string detail = this.txtdetail.Text;

command = conn.CreateCommand();

if (string.IsNullOrEmpty(hdnFilename.Value))
{
    query.Append(" INSERT INTO SUPPORT (title, detail, date) VALUES (?,?,?) ");
    command.CommandText = query.ToString();

    command.Parameters.Add("@title", OdbcType.VarChar).Value = this.txtbaslik.Text;
    command.Parameters.Add("@detail", OdbcType.NVarChar).Value = detail;
    command.Parameters.Add("@date", OdbcType.DateTime).Value = DateTime.Now.ToString();
}
else
{
    query.Append(" INSERT INTO SUPPORT (baslik, detail, date, file) VALUES (?,?,?,?) ");
    command.CommandText = query.ToString();

    command.Parameters.Add("@title", OdbcType.VarChar).Value = this.txtbaslik.Text;
    command.Parameters.Add("@detail", OdbcType.NVarChar).Value = detail;
    command.Parameters.Add("@date", OdbcType.DateTime).Value = DateTime.Now.ToString();
    command.Parameters.Add("@file", OdbcType.VarChar).Value = hdnFilename.Value;
}

command.ExecuteNonQuery();

command = null;

conn.Close();
conn = null;

代码工作正常并插入数据库,不得不翻译一些变量给你们一个更好的主意,原始没有语法错误。

1 个答案:

答案 0 :(得分:0)

问题是,sql语句中有注释行,所以如果我要复制粘贴查询,那就不行了。删除它们有帮助,我将在这里为后代留下问题。谢谢你的答案。