我有一個用C#編寫的連接到SQL數據庫的Windows應用程序。SQL中的空白C#
我有文本字段我的應用程序中,並更新這樣的數據庫:
string name = textBox60.Text;
string sql = "insert into myTable(Name) values ('" + name + "')";
DbHelper.ExecuteNonquery(sql);
public static int ExecuteNonquery(string sql)
{
using (SqlConnection cn = new SqlConnection(constr))
{
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
else if (cn.State == ConnectionState.Open)
{
cn.Close();
cn.Open();
}
else if (cn.State == ConnectionState.Broken)
{
cn.Close();
cn.Open();
}
using (SqlCommand cm = new SqlCommand(sql, cn))
{
return cm.ExecuteNonQuery();
}
}
}
但對於數據庫中的nchar
類型的每一個數據,他們是全白的空間。例如,如果我在文本字段中填寫abc,那麼當我檢查數據庫時,它將變成"abc___________________"
(空格)。
如何防止這種情況,而不僅僅是當我讀取它們或修改字符串時使用UPDATE
數據SET TRIM(data)
如果我有大量這樣的數據。
感謝您的幫助。
您應該將列類型更改爲'NVARCHAR'以避免這種情況... – 2013-03-25 07:04:49
'NCHAR(n)'將由SQL Server填充到'n'的長度 - 這是使用列聲明指定的大小。對於數據類型「CHAR」的變量列和固定大小列之間的區別,請閱讀以下內容:http://msdn.microsoft.com/en-us/library/ms186939.aspx – 2013-03-25 07:07:46
它的工作原理,謝謝 – AkariKamigishi 2013-03-25 07:08:45