尝试设置null时,SQL Server将空格空间添加到值(char)

sme*_*lmo 2 c# sql-server char

我将数据从SQL Server提取到我的c#项目.我有一些文本框从页面到页面更新.我有一个特别是一个文本框,它被设置为只接受两个字符,在数据库中设置为char(2).如果我要删除这两个字符并单击我的按钮来更新数据库并转到下一页,它会存储两个空格.我需要它只是空,没有空格.在我的其他文本框中,不会发生此问题.数据库允许数据为空.我能够在数据库中手动输入"null",但我需要在擦除两个字符并更新它时完成.

Mik*_*kis 5

声明为的列CHAR(2)永远不会包含除2个字符或NULL之外的任何内容.如果希望列能够包含零个字符,则需要将其声明为VARCHAR.

否则,如果您不希望它包含零个字符,如果您只想让它包含两个字符或NULL,那么您必须手动检查文本控件是否包含空字符串,如果是,则必须存储数据库中为NULL.