C#中MessageBox输出信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中MessageBox输出信息相关的知识,希望对你有一定的参考价值。

从数据库查询出一组内容,实现效果是把查询结果元素循环输出到MessageBox中

if (reader.HasRows)

while (reader.Read())



while循环中应该怎么写啊?

int count = 0;
string str_out = string.Empty;
do

if (!reader.HasRows)
break;
while (reader.Read())

string temp = Convert.ToString(reader["字段名"]);
if (string.IsNullOrEmpty(temp))
continue;
count++;
str_out += temp + "\\r\\n";


MessageBox.Show(str_out);
 while (false);

其实获取个数的话可以用SQL的,查出来之后直接取出值,你说的还要分割字符串是什么意思?没理解,难道你的数据库里面存的航班信息是写在一起的?

追问

设置计时器方法不错哦,我的意思是在你的基础上
对获取的str_out用split('\n')分割得到一个数组再.Length-1

那意思说SqlDataReader没有提供一个直接的方法获取列中的元素个数

追答

我的意思是用

select count(*) from table_name where clause

table_name 代表表名,clause 代表查询条件,但是如果你要取出具体信息的话就不建议你使用SQL从数据库里面查个数,因为反正你也要遍历的,就没必要再读数据库了,如果你只想知道个数,那么就用SQL的方法,不必遍历所有数据求和,另外,亲,采纳啊别忘了。


另外,不止SQLSERVER没有,Oracle也没有,如果哪位知道怎么通过DataReader看数目,告诉我下 ,调试的时候很苦恼

追问

.Net应该是没有提供这样的方法

追答

不客气

参考技术A 可以考虑先保存到变量中,之后用MessageBox显示变量 参考技术B 先定义一个string类型的变量string str_out;
然后用str_out+=每行的数据就行了,注意要加个‘\n’以实现换行追问

谢谢,但如何获取查询结果中的个数呢,就像图片上显示的,查询出多少个航班?
DataReader有没有方法获取,在不用分割字符串的前提下,

参考技术C string str;
if (reader.HasRows)

while (reader.Read())

str+=reader[列名]+"\n"



messagebox("查询出?个航班+"\n"+str)

思路是这样,手打的,不要照抄

C#问题,MessageBox.Show()怎么输出已赋值的参数,具体如下:

Random rNum = new Random();
int x, y;//注意这是整形,不是string
x = rNum.Next(1, 30);
y = rNum.Next(1, 5);

MessageBox.Show();//这里我想用这个函数显示x,y的值,怎么写。

参考技术A MessageBox.Show("x:"+x.toString()+",y:"+y.toString()) 或者
MessageBox.Show(String.format("x=0,y=0",x,y))) 都可以追问

请问第一种,为什么要加两个加号呢?

追答

字符串的拼接

本回答被提问者和网友采纳
参考技术B MessageBox.Show("x="+x.ToString()+" ,y="+y.ToString());// 参考技术C MessageBox.Show(String.format("x=0,y=0",x,y)));//这里我想用这个函数显示x,y的值,怎么写。

以上是关于C#中MessageBox输出信息的主要内容,如果未能解决你的问题,请参考以下文章

C# MessageBox 消息对话框

C#问题,MessageBox.Show()怎么输出已赋值的参数,具体如下:

C#中MessageBox用法大全(转)

C#在控制台输出异常所在的行数

如何让extjs MessageBox 一直显示在最顶层,先谢过了。我只有21分了。

02 button的练习