gpt4 book ai didi

c# - 如何强制用户在数据库字段中输入值

转载 作者:太空宇宙 更新时间:2023-11-03 18:13:01 24 4
gpt4 key购买 nike

对于我的应用程序,我想确保用户是否在文本框中未输入任何值,然后单击
保存按钮以在 sqlserver 数据库中发送数据。数据库端验证可防止此违规并设置我的应用程序将捕获的错误消息并显示有意义的消息
给用户。对于每个必填字段,我将其设置为 NOT NULL。但是当我测试时,我仍然可以输入
输入空文本框值,它插入时没有值。我错过了什么?

string connectionstring = "Data Source=abcdef;Initial Catalog=HMS;Persist Security Info=True;User ID=sysad;Password=abcdef";
SqlConnection connection = new SqlConnection(connectionstring);

string SelectStatement = "SELECT * FROM tablename where RegistrationNo = @RegistrationNo";
SqlCommand insertcommand = new SqlCommand(SelectStatement, connection);
insertcommand.Parameters.AddWithValue("@RegistrationNo", textBox10.Text);
SqlDataReader reader;
try
{
connection.Open();
reader = insertcommand.ExecuteReader();

while (reader.Read())
{
textBox11.Text = reader["RegistrationNo"].ToString();
textBox1.Text = reader["Appearance"].ToString();
textBox2.Text = reader["VolumePH"].ToString();
textBox3.Text = reader["Mobility"].ToString();
textBox4.Text = reader["Viability"].ToString();
textBox5.Text = reader["Head"].ToString();
textBox6.Text = reader["MiddlePiece"].ToString();
textBox7.Text = reader["Tail"].ToString();
textBox8.Text = reader["SpermCount"].ToString();
dateTimePicker1.Text = reader["Date"].ToString();
textBox9.Text = reader["Comment"].ToString();



}//end while
reader.Close();
}
catch (Exception ex)
{
throw ex;

}//end catch

最佳答案

What am i missing?

我认为您忽略了 null 和空字符串之间的区别。

数据库区分nullempty。如果您的 ToString 成功,那么您就有一个非空字符串,因此 DB 很乐意接受它作为有效值。

一般来说,使用DB做用户端验证有点浪费:如果你知道该字段不能为空,你应该在UI中检查它;数据库验证应作为保留数据模型完整性的最后手段。

关于c# - 如何强制用户在数据库字段中输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11207332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com