标题:系统错误??
取消只看楼主
laplas
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-2-28
 问题点数:0 回复次数:18 
系统错误??

public class LinkDataBase
{
private string strSQL;
//与SQL Server的连接字符串设置
private string connectionString = "workstation id=localhost;Integrated Security=SSPI;database=jxcbook";
//与数据库的连接
private SqlConnection myConnection;

private SqlCommandBuilder sqlCmdBld;
private DataSet ds = new DataSet();
private SqlDataAdapter da;

public LinkDataBase()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

///////////////////////////////// 操作脱机数据库(创建了该类的实例时直接用) /////////////////////////////////////////////////////

//根据输入的SQL语句检索数据库数据
public DataSet SelectDataBase(string tempStrSQL,string tempTableName)
{
this.strSQL = tempStrSQL;
this.myConnection = new SqlConnection(connectionString);
this.da = new SqlDataAdapter(this.strSQL,this.myConnection);
this.ds.Clear();
this.da.Fill(ds,tempTableName);
return ds;//返回填充了数据的DataSet,其中数据表以tempTableName给出的字符串命名
}
}
调用SelectdDataBase函数时 this.da.Fill(ds,tempTableName)行,报错:系统错误。这个错误是怎么回事。

搜索更多相关主题的帖子: SQL private 数据库 系统 string 
2006-04-03 10:53
laplas
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-2-28
得分:0 
以下是引用houjuanjie在2006-4-3 11:12:00的发言:
this.strSQL = tempStrSQL;
this.myConnection = new SqlConnection(connectionString);
myConnection.Open();
this.da = new SqlDataAdapter(this.strSQL,this.myConnection);
this.ds.Clear();
this.da.Fill(ds,tempTableName);
return ds;
加上一句试试

看文档里说sqldataadapter,会自动open不需要加上那句。
我加上了,还是不行。
后在代码里加了个catch语句
错误如下


2006-04-03 11:23
laplas
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-2-28
得分:0 
主贴 第三行定义的
2006-04-03 11:50
laplas
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-2-28
得分:0 
空值每问题吧
要不然不能通过编译阿。
况且这段代码是我从书上copy 的。
2006-04-03 12:15
laplas
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-2-28
得分:0 
请问楼上怎么用?是直接托个 dataadapter控件到面板吗?用向导配置?
2006-04-03 13:05
laplas
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-2-28
得分:0 
我的这个问题还没有解决。
是程序有问题。还是数据库的问题。?
2006-04-03 14:07
laplas
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-2-28
得分:0 
好像还是不行。
2006-04-04 09:08
laplas
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-2-28
得分:0 
provider 是什么,不支持这个关键字。
2006-04-04 09:19
laplas
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-2-28
得分:0 
private string connectionString = "Provider=SQLOLEDB.1;Password=;User ID=sa;Initial Catalog=jxcbook;Data Source=localhost";
就是这个,没这个关键字阿。我用的是sqlserver
2006-04-04 09:33
laplas
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-2-28
得分:0 

public class StorageSearch : System.Windows.Forms.Form
{
....
private DataSet ds=new DataSet();
private DataView dv;
private LinkDataBase link=new LinkDataBase();
private string tempstr="select 库存库.货号,拼音编码,品名,单位,仓库,库存数量,库存单价,库存金额 "+"from 库存库,商品清单 where 库存库.货号=商品清单.货号";
private string temptablename="库存商品";
....

这个叫storagesearch的类。把tempstr 和temptablename两个字符串传给叫 linkdatabase的类。linkdatabase负责连接数据库。
代码:public class LinkDataBase
{
private string strSQL;
//与SQL Server的连接字符串设置
private string connectionString = "workstation id=localhost;Integrated Security=SSPI;database=jxcbook";
//与数据库的连接
private SqlConnection myConnection;

private SqlCommandBuilder sqlCmdBld;
private DataSet ds = new DataSet();
private SqlDataAdapter da;

public LinkDataBase()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

///////////////////////////////// 操作脱机数据库(创建了该类的实例时直接用) /////////////////////////////////////////////////////

//根据输入的SQL语句检索数据库数据
public DataSet SelectDataBase(string tempStrSQL,string tempTableName)
{

this.strSQL = tempStrSQL;
this.myConnection = new SqlConnection(connectionString);
this.da = new SqlDataAdapter(this.strSQL,this.myConnection);
this.ds.Clear();
this.da.Fill(ds,tempTableName);
return ds;//返回填充了数据的DataSet,其中数据表以tempTableName给出的字符串命名

2006-04-04 10:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-54716-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.062800 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved