| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 508 人关注过本帖
标题:[求助]有又数据库问题请教了。
只看楼主 加入收藏
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
结帖率:33.33%
收藏
 问题点数:0 回复次数:9 
[求助]有又数据库问题请教了。

1、DataGrid如何能固定列:
我只要显示这4列:地区、代码、客户简称、年初数

*
但是在DataGrid上按“->”键,它就把我不想显示的字段也显示了出来:(

有什么方法不显示其他字段?

2、我的表ark里有个字段idark是个递增标示字段(primary key),在进行数据库操作的时候:新增纪录,我无需给idark赋值(sql里自动生成),但在保存结束后 idark的只是看不到的。
DataRow dr = dt.NewRow();
//dr["idark"]=自动赋值
dr["dm"] = this.textJM.Text;
dr["mc"] = this.textKHMC.Text;
dr["jc"] = this.textKHJC.Text;
dt.Rows.Add(dr);
da.Update(MyDataSet, "ark"); //只有更新后才能看到idark的值,新增完就修改可能会出错!因为新增完Table里看不到idark,而idark又是关键字。

有什么方法能在新增保存后把在SQL服务器上生成的idark存到当前新增的记录里?

搜索更多相关主题的帖子: 数据库 
2006-09-12 17:11
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
收藏
得分:0 
1:自定义一个datable然后再把这个datatable绑定到datagrid上
2:每次保存数据的时候重新查询数据再绑定.

[bc09] 犯强汉者,虽远比诛!
2006-09-12 17:24
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 

感谢小海龟斑竹!
1、如何自定义datatable?

SqlConnection conn = new SqlConnection(Log_in.ljmc);
conn.Open();
SqlCommand cmd = new SqlCommand("select * from dqk order by bh", conn);
SqlDataReader dread = cmd.ExecuteReader();
while (dread.Read())
{ this.comboBox1.Items.Add(dread.GetString(1).Trim()); }
dread.Close();
cmd.Dispose();

da = new SqlDataAdapter(zfc, conn);
MyDataSet = new DataSet();
da.Fill(MyDataSet,"ark");
dt = MyDataSet.Tables["ark"];

如何自定义datatable?
dt = MyDataSet.Tables["ark.arbh,ark.dm,ark.mc,ark.jc"];通不过啊

2、每次保存数据查询后再绑定这样太浪费资源和影响速度啊,况且查询完找不到位置了啊。


2006-09-13 14:01
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 

改成这样通是通过了,但里面没有数,列名不是“地区、代码、客户简称、年初数”,列宽也无法设置:
SqlConnection conn = new SqlConnection(Log_in.ljmc);
conn.Open();
da = new SqlDataAdapter(zfc, conn);
MyDataSet = new DataSet();
da.Fill(MyDataSet,"ark");

DataTable dtt = new DataTable("ark");
dtt.Columns.Add("arbh", typeof(char));
dtt.Columns.Add("dm",typeof(char));
dtt.Columns.Add("mc", typeof(char));
dtt.Columns.Add("jc", typeof(char));
dataGridView1.DataSource = dtt.DefaultView;


2006-09-13 14:25
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
再帮俺看看:为什么修改的语句在DataGrid中已经成功了,但实际数据库中却并未更新?

int j= myBind.Position ;
DataRow dr = dt.Rows[j];
dr["arbh"] = this.comboBox1.Text;
dr["dm"] = this.textJM.Text;
dr["mc"] = this.textKHMC.Text;
dr["jc"] = this.textKHJC.Text;
//drr.Delete();
//dt.Rows.Add(dr); 先删除后修改的方法不好。
da.Update(MyDataSet, "ark");
MessageBox.Show("您已成功修改!", "恭喜", MessageBoxButtons.OK, MessageBoxIcon.Information);

2006-09-15 14:20
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
收藏
得分:0 
这样自定义datatable:
DataTable table1 = new DataTable("Items");
DataColumn column1 = new DataColumn("id", typeof(System.Int32));
DataColumn column2 = new DataColumn("item", typeof(System.Int32));
table1.Columns.Add(column1);
table1.Columns.Add(column2);
table1.PrimaryKey = new DataColumn[] { column1 };
DataRow row;
for (int i = 0; i <= 3; i++)
{
row = table1.NewRow();
row["id"] = i;
row["item"] = i;
table1.Rows.Add(row);
}
table1.AcceptChanges();

第二个问题:
你不重新查询出数据是无法获取到idark值的所以你修改了也等于没修改的。

[bc09] 犯强汉者,虽远比诛!
2006-09-15 14:51
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 

谢谢!明白了!能帮忙看看怎么不能更新(已经重新查询出数据了)
为什么修改的语句在DataGrid中已经成功了,但实际数据库中却并未更新?

int j= myBind.Position ;
DataRow dr = dt.Rows[j];
dr["arbh"] = this.comboBox1.Text;
dr["dm"] = this.textJM.Text;
dr["mc"] = this.textKHMC.Text;
dr["jc"] = this.textKHJC.Text;
//drr.Delete();
//dt.Rows.Add(dr); 先删除后修改的方法不好。
da.Update(MyDataSet, "ark");
MessageBox.Show("您已成功修改!", "恭喜", MessageBoxButtons.OK, MessageBoxIcon.Information


2006-09-15 14:58
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
没有提供修改DataSet对象纪录中的方法。只能是先删除后新增么?

2006-09-15 15:00
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
收藏
得分:0 
不是的呀我的都可以的.

[bc09] 犯强汉者,虽远比诛!
2006-09-15 15:03
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
收藏
得分:0 
http://www.bc-cn.net/bbs/dispbbs.asp?BoardID=117&ID=85811&star=100#里面有个文件下载的,你看看就应该知道了。

[bc09] 犯强汉者,虽远比诛!
2006-09-15 15:07
快速回复:[求助]有又数据库问题请教了。
数据加载中...
 
   



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

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