我正在构建一个 Web 应用程序,我希望允许用户将记录插入数据库。我遇到的方法是从文本框中获取信息并运行以下代码:
SqlDataSource1.InsertParameters["ProductCode"].DefaultValue = txtProductCode.Text;
SqlDataSource1.InsertParameters["Name"].DefaultValue = txtName.Text;
SqlDataSource1.InsertParameters["Version"].DefaultValue = txtVersion.Text;
SqlDataSource1.InsertParameters["ReleaseDate"].DefaultValue = txtReleaseDate.Text;
try
{
SQLDataSource1.Insert();
}
...
如果我尝试注入一些 SQL,我会收到错误消息:
消息:字符串或二进制数据将被截断。该语句已终止。
此方法是否清理参数?我很难找到这些信息,因为我不确定是否还有办法解决这个错误。如果没有,我应该如何对输入进行消毒?
此外,ReleaseDate 参数当前似乎读取为 dd/MM/yyyy,但有办法锁定它,以便不同系统上的相同代码不会表现不同。我担心如果代码在具有不同区域设置的系统上运行,它将使用不同的格式。