一直没有找到办法但是我用这个办法程序竟然提示超过范围?怎么回事?
这个是我用的测试代码ArrayList lilei = new ArrayList();
SqlConnection sqlConn = new SqlConnection("server=127.0.0.1;Database=Northwind;uid=sa;pwd=;");
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = sqlConn;
sqlCmd.CommandText = "select CategoryName from Categories";
SqlDataAdapter sqlDa = new SqlDataAdapter();
sqlDa.SelectCommand = sqlCmd;
DataSet sqlDs = new DataSet();
sqlDa.Fill(sqlDs); for (int i = 0; i <= sqlDs.Tables[0].Rows.Count; i++)
{
lilei[0] = sqlDs.Tables[0].Rows[i][0].ToString(); }
这个是我用的测试代码ArrayList lilei = new ArrayList();
SqlConnection sqlConn = new SqlConnection("server=127.0.0.1;Database=Northwind;uid=sa;pwd=;");
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = sqlConn;
sqlCmd.CommandText = "select CategoryName from Categories";
SqlDataAdapter sqlDa = new SqlDataAdapter();
sqlDa.SelectCommand = sqlCmd;
DataSet sqlDs = new DataSet();
sqlDa.Fill(sqlDs); for (int i = 0; i <= sqlDs.Tables[0].Rows.Count; i++)
{
lilei[0] = sqlDs.Tables[0].Rows[i][0].ToString(); }
解决方案 »
- C#委托实现刷新页面
- axWebBrowser1 打开word文件时 重名文件不提示 应该怎样设置?
- 跪求解:sql server 列加随机函数问题 ~~~~~~~~~~~~~~~在线等。
- c#中Form2怎么调用Form1中imagelist中的内容
- Timelines 层次问题
- 一个可能要遇到的问题 .NET
- 菜!WebForm 中怎么插入动画图片
- 一条麻烦的数据库问题!(高分请教)
- 在C#中,如何判断如果选择的是admin这一行,删除按钮是灰色的。
- 跪求!!未能加载文件或程序集“Microsoft.SqlServer.Management.SqlParser, Version=10.0.0.0
- 有没有这样的转化工具?
- C#中怎么将图形导出到AutoCAD啊
or
i < sqlDs.Tables[0].Rows.Count
if (sqlDs != null && sqlDs.Tables.Count > 0)
{
for (int i = 0; i <= sqlDs.Tables[0].Rows.Count; i++)
{
lilei.Add(sqlDs.Tables[0].Rows[i][0])
//lilei[0] = sqlDs.Tables[0].Rows[i][0].ToString();
你这个是什么意思?如果只要一个,应该break;
}
}
for (int i = 0; i < sqlDs.Tables[0].Rows.Count; i++)
{
lilei[i] = sqlDs.Tables[0].Rows[i][0].ToString();
}
{
lilei.Add(sqlDs.Tables[0].Rows[i][0].ToString());
}
没有一次性导入的函数么?
另外还有一个问题:
如何在c#中实现将文本传到lpt1端口?
在vb中可以直接 open "LPT1:" "string"
在c#中难道只能调用api?
{
lilei[0] = sqlDs.Tables[0].Rows[i][0].ToString(); }
————————————————————————————————————————
你可以用“一句话”就能搞定,但是这需要你懂 Array.ForEach方法、匿名方法等比较高级的编程语法。其实不论是写上一大堆代码还是用“一句话”搞定,从底层实现上看是一样的都是循环赋值,只是表现力不同,说明书写着的逻辑思维以及与编程语言的结合达到了一定水平。
SqlConnection sqlConn = new SqlConnection("server=127.0.0.1;Database=Northwind;uid=sa;pwd=;");
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = sqlConn;
sqlCmd.CommandText = "select CategoryName from Categories";SqlDataReader sdr = sqlCmd.ExecuteReader(CommandBehavior.CloseConnection);
while (sdr.Read()) lilei.Add(sdr.GetString(0));
sdr.Close();
我只是想把lilei作为一个临时缓存用
我现在是这样实现的,还有更好的办法没有?SqlConnection sqlConn = new SqlConnection("server=XXX.XX.X.X;Database=mes;uid=mesAdmin;pwd=mes;");
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = sqlConn;
sqlCmd.CommandText = "select max(barcode_id) from barcodeInfoNow";
SqlDataAdapter sqlDa = new SqlDataAdapter();
sqlDa.SelectCommand = sqlCmd;
DataSet sqlDs = new DataSet();
sqlDa.Fill(sqlDs); string startBarcode = sqlDs.Tables[0].Rows[0][0].ToString();
public class MyClass
{
private string name;
private int id;
private int age;
public string Name
{
get { return name; }
set { name = value; }
}
public int ID
{
get { return id; }
set { id = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
}MyClass cls;
List<MyClass> al = new List<MyClass>();
///下边的for语句里可用用dataset来代替for (int i = 0; i < 10; i++)
{
cls = new MyClass();
cls.Name = "a" + i;
cls.ID = i;
cls.Age = 20 + i;
al.Add(cls);
}
dataGridView1.DataSource = al;
根据这个SQL判断,不要说DataSet,你用DataReader都是浪费这个SQL语句只会给你一个值,就是barcode_id的最大值(不一定是最后一条记录;如果你最后一条记录不是最大值的话就好看了)这种情况应该直接:
string returnValue = (string)sqlCmd.ExecuteScalar();
如果不用select max(barcode_id) from barcodeInfoNow的话?
如果不用select max(barcode_id) from barcodeInfoNow的话?
---------------------------------
给表添加一个自增的PKID字段或者DateTime字段,查询时order by一下。
就是想问出了用max()的方法还可以用什么SQL语句来得到?
不需要order啊,我只是要那出表里面的最新的一个记录就可以了
就是想问出了用max()的方法还可以用什么SQL语句来得到?
-------------------------------------有多个方法
最好的方法需要你操作数据库,修改表结构和索引1)你的表是否有一个递增的主键?
是-->修改该主键的索引,将其顺序改为DESC,这样以后的SELECT都是从后往前搜的了
符合你要求的SQL语句就是 SELECT TOP 1 * FROM barcodeInfoNow
或-->不修改,那么你就要亲自倒序,即 SELECT TOP 1 * FROM barcodeInfoNow ORDER BY barcode_id DESC2)你的表是否有一个存放日期/时间的字段?
是-->在该字段上新建或修改索引使之倒序,然后就可以
SELECT TOP 1 * FROM barcodeInfoNow ORDER BY [日期/时间字段] DESC
或-->直接就用上面这句,不过性能会大减