国家铁路总公司在哪里:datagrid 绑定数据库失败

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 04:01:38
我的vb程序打包之后再用户机上使用时,datagrid无法显示,还提示cannot initialize data bindings
请问各位高手如何解决?

1.程序是否在本机运行,sql server数据库是否也在本机?
2.是否少msstdfmt.dll ,link static
3.是系统的odbc驱程没有装好。
在数据源-》系统dsn-》添加-》选择数据源驱动程序对话框 选择Sql Server按"完成”按钮提示出错,信息: 无法加载Sql Server ODBC驱动程序的安装实例 ,以及 不能加载安装或转换器库。
4.相同的代码放在一个aspx文件中就没有问题。把代码和页面分离就无法显示。我有时候会出现这样的问题,唯一的解决方法只有放在一个ASPX文件中.
5.试试这个:
if (!IsPostBack)
{
myConn=new SqlConnection(strConn);
myComm=new SqlCommand(strSql,myConn);
myConn.Open();

myReader=myComm.ExecuteReader();

name_list.DataSource=myReader;
name_list.DataBind();

myReader.Close();
myConn.Close();

6.没有程式码,比较难找原因,我在猜,会不会您设计好,但忘了写DateGrid1.DataBind()
我没这麼操作过, 但上述程式应该是要写的,您查询一下程式码,看有没有这一行
7.我个人的观念是这样的:
1.简单的控制项,就不必太麻烦,例如
假如TextBox设计成
TextBox1.Text="abc";
TextBox1.DataBind();
似乎有点小题大作,因为TextBox也没什麼好变化的, 因此通常是给了Text属性后,它会在自己的Render事件中自己搞定

2.复杂的控制项,例如
DtatGrid1.DataSource=myDS;
如果一给DataSource就依DataSet的内容产生一次内容,那麼我接著要设定其他属性,例如
DataGrid1.Columns[0].Visible = false; //第一栏不要show
DataGrid1.Width=100%; //制定它的宽度
不就来不及了, 因此,复杂的控制项,比较会设计成

//先定义DataGrid1的各式属性
DtatGrid1.DataSource=myDS;
DataGrid1.Columns[0].Visible = false;
DataGrid1.Width=100%;
.........

//最后再呼叫DataBind(),以便根据上述的属性值,去产生结果
DataGrid1.DataBind();

至於为何要叫DataBind,不叫Show,就要问开发者了,在您想要灵活应用它之前,要先看书学它,乱玩是比较没效率的作法,而您将遇到的问题也会一堆

纯属个人观点,绝对原创!

希望可以帮到你哦!帮不到你也不要骂偶哦!!!

你没有把Datagrid控件的组件打包在程序里面,客户机不像你编写的机器有VB6,所以会出现错误,建设你用专业的打包工具打包,并在打包的时候扫描你的工程,这个样子,可以把相关的全部扫进来,再来选择哪些要哪些不要,个人推荐:Factory Setup 7.0还不错。