C# winfrom 怎样限制输入值大小,大小取决于数据库表中的值?

具体问题是一个零件号对应一个最大库存,输入的入库数量不能大于这个最大库存量。怎样从这个表中获取这个最大库存?希望要一个比较简单的方法,先谢谢大家了

第1个回答  2011-07-26
在TextBox的TextChanged事件中进行验证判断,例如不让其超过20
protected void textbox1_TextChanged(object senderm, EventArgs e)
{
int input=Int32.Parse(textbox1.Text);
if(input>20)
{
MessageBox.Show("数据数据不可以超过20");
textbox1.text="";
textbox.focus();
}
}

把那个20换成你从数据库读取的值就行了追问

不是这么简单的吧……
问题是怎么读取呢?

追答

select max(库存列名) where 零件ID=id号

追问

这样怎么接受呢?我是菜鸟,您说具体点,谢谢啦……

追答

你是什么数据库,数据量有多少,你用的什么可视化方法连接,告诉我,帮你搞定

追问

Sql Server数据库
可视化的我会了,现在想用sql语句查询,想把查询后的结果赋值给一个变量,参考三楼的是不是: string sql = string.Format(" select (列) from 表1");?

追答

private readonly string SqlConnectionString = ConfigurationManager.ConnectionStrings[""].ConnectionString;//你的数据连接字符串
private SqlConnection cn; //创建SQL连接
private SqlCommand cmd; //创建SQL命令对象
private SqlParameter param; //创建SQL参数

///
/// 打开数据库连接
///
public void Open()
{
#region
cn = new SqlConnection(SqlConnectionString);
cn.Open();
#endregion
}

///
/// 关闭数据库连接
///
public void Close()
{
#region
if (cn != null)
{
cn.Close();
cn.Dispose();
}
#endregion
}

public string RunSqlReturn(string strSql)
{
#region
string strReturn = "";
Open();
try
{
cmd = new SqlCommand(strSql, cn);
strReturn = cmd.ExecuteScalar().ToString();
}
catch { }
Close();
return strReturn;
#endregion
}

string maxNum=RunSqlReturn("select max(列) from (表) where 零件id=你要的id")就可以返回这个变量,一定要有筛选条件,否则你删选出来的是一张表,而不是一个值
因为返回的是字符串,所以再进行转换int max=Int32.Parse(maxNum);

追问

换一种思路吧,我用datagridview绑定数据库,怎样获取datagridview中的值?(某行某字段)

追答

gridView1.Row[i][j];//i,j分别为行号,列号,列号也可以用你的列名代替

第2个回答  2011-07-26
是不是获取最大值啊
select max(列) from 表1 返回的值就是库存量中的最大值追问

怎么接受这个最大值呢?

追答

我用的是Sql Server数据库
string sql = string.Format(" select max(列) from 表1");
SqlCommand objCommand = new SqlCommand(sql, DBHelp.objConnetion);
MessageBox.Show( objCommand. ExecuteScalar().ToString ());
弹出的就是最大值了

追问

嗯嗯,我也是,但我不要最大值,想把查询后的结果赋值给一个变量, string sql = string.Format(" select (列) from 表1");SqlCommand objCommand = new SqlCommand(sql, DBHelp.objConnetion);
这样就可以吗?

追答

DBHelp.objConnetion是我一个类中调用的
原型是这样的
string strConnection="连接数据库的字符串"
SqlConnection objConnetion = new SqlConnection(strConnection);
objConnetion 就相当于我的 DBHelp.objConnetion换一下就行

追问

string.Format(" select (列) from 表1");需要什么引用集?

追答

只要这样写就对了 引不引用就是机器的问题了

追问

不好用啊,变量sql 接收不到查询返回值

追答

你加我百度Hi 账号christ0607 我帮你看看

追问

换一种思路吧,我用datagridview绑定数据库,怎样获取datagridview中的值?(某行某字段)

本回答被提问者采纳
第3个回答  2011-07-26
祝你好运 师傅不会
第4个回答  2011-07-26
好象有这个属性,你看一下

c# 的WinForm 中 textbox内如何限制只输入为0-100之间的数字?
可以使用textbox的keypress事件,只能输入0-9和删除键,之后再判断数字是否小于0或大于100 private void textBox1_KeyPress(object sender, KeyPressEventArgs e){ e.Handled = true;if ((e.KeyChar >= '0' && e.KeyChar <= '9')||e.KeyChar == (char)8){ e.Handled = false;} } ...

C# winform 文本框里,怎么设置数字的格式?
推荐于2017-12-16 13:33:44 最佳答案 在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理,判断keychar的值。限制只能输入数字,小数点,Backspace,del这几个键。数字0~9所对应的keychar为48~57,小数点是46,Backspace是8。 判断是否为数字或Backspace,按下面这样写的话只能输入...

C# .net中有一个文本框,要求只能输入数字,同时这个文本框可以空着_百...
在文本框中的文字发生改变时进行检验,如果包括非数字的输入时,则使用上次的副本覆盖回去。如果都是数字,则更新副本。不过你可以直接使用NumericUpDown控件输入数字,这样省些麻烦。然后建一个插入数据库按钮,点击按钮时如果输入框中的文字为空时则函数直接返回,不然就进行数据库插入操作。示意代码如下所...

如何设置禁止改变“C# WINFORM”窗体大小?
设置方法:在Form类下面有一个FormBorderStyle的字段,我们可以通过设置它的值来让窗体不能被拉大拉小。FormBorderStyle的值设置为FormBorderStyle.FixedSingle或Fixed3D时,窗体大小是不能被改变的。当然,还有一种情况,我们也应该要考虑到,那就是窗体最大化。所以,我们要将窗体最大化的功能去掉,即this...

c# winform 如何让窗体能根据显示器大小自动调节大小呢?
不用设置窗体的宽和高 设定了之后无论它在什么电脑上都显示一样的大小、可以设置WindowState 初始的时候窗体为最大化就行了

请问在C#的Winform下如何用正则表达式限制用户只能在textBox中输入18位...
\/\/ 正则表达式检查 身份证号码.\/\/ string cradPat = @"^\\d{17}(\\d|X|x)$";string[] cardValueArray = { "11010519491231002X", "110105194912310011", "11010519491231001C", "1101051949123100112","1101051949 2310011", "1101051949X2310011", "11010519491231001"};foreach (string cardValue...

winform中怎么判断用户所输入的信息在数据库中已存在?
既然要判断是否存在,那么必然要经过以下步骤 1. 向数据库发出查询命令,参数为textbox里面的值,获得的返回结果是空,则表示不存在。。不是空,则表示已经存在

在C#中,怎样实现当你输入什么,让它退出程序,
假如说我在C\/S模式中输入“退出”两个字后那么WINFORM程序就退出;1、在TEXTBOX中输入退出 在BUTTON按钮事件中判断;if(this.TextBox1.Text.Trim()=="退出"){ Application.Exit();} else { return;} 2、如果程序小的话就用TIME控件进行判断;把TIME的值改为N毫秒,在TIME事件中判断;if(...

c#winform程序如何限制答题次数。
int CurIndex=0;private void Button1_Click(object sender,EventArg e){ if(答对){ MessageBox("right");} else { CurIndex++;if(CurIndex>=3)this.Close();else MessageBox("wrong,剩下"+(3-CurIndex));} } 大体思想就是用一个全局变量记录其答题次数就可以了。

winform C#做数据库时,如何将查询到的结果一一对应地显示到textbox里...
1、实现使用到的Windows API的方法代码。2、实现最大化窗口-》最小化窗口--》正常大小窗口方法代码如下。3、定义全局变量的方法代码。4、实例化线程用来初次调用matlab--》把图像窗体放到winform的方法代码。5、线程执行的方法-->每隔50ms查找一下figure窗体->找到嵌入到winform的panel控件里的方法代码。...

相似回答