【发布时间】:2018-03-25 01:35:27
【问题描述】:
好吧,我正在用 C# 构建一个小爱好程序,我正在尝试将我的程序中的信息写入 Sql
问题是我在 Sql 中有一些 varchar 字段,最大长度为 50
当我发送信息以填充这些列时,它们将被添加额外的空间,直到达到 50 个字符
我已经尝试将varchar 更改为nvarchar 只是为了看看它是否有效
我一直在研究的是nchar 会做这种事情,但使用varchar 我应该没有问题,但我有它们..
public PersonModel CreatePerson(PersonModel model)
{
using (IDbConnection connection =
new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString(db)))
{
var p = new DynamicParameters();
p.Add("@FirstName", model.FirstName);
p.Add("@LastName", model.LastName);
p.Add("@EmailAddress", model.EmailAddress);
p.Add("@CellphoneNumber", model.CellphoneNumber);
p.Add("@id", 0, dbType: DbType.Int32, direction: ParameterDirection.Output);
connection.Execute("dbo.spPeople_Insert", p, commandType: CommandType.StoredProcedure);
model.Id = p.Get<int>("@id");
return model;
}
}
这就是我的称呼
if (ValidateForm())
{
PersonModel p = new PersonModel();
p.FirstName = firstNameValue.Text;
p.LastName = lastNameValue.Text;
p.EmailAddress = emailValue.Text;
p.CellphoneNumber = cellphoneValue.Text;
顺便说一句,这些是我表单中的文本框
【问题讨论】:
-
在将
string值发送到 SQL 数据库之前调用Trim()。 -
它们被传递时没有空格,因为我正在使用调试器进行检查
-
如何检查列值是否有多余的空格?
-
sql中的ltrim和rtrim函数
-
你能分享将数据保存到数据库的代码吗?另外,我确定您已经这样做了,但我建议您重新检查列的数据类型
标签: c# mysql sql-server