datagrid简单的修改数据库问题..winform的....散分啊

dreamingnet 2005-12-06 11:08:32
注意是winform的,不是web的
 
问题一:
 当datagrid显示查询结果时(,注意datagrid可以按照不同的SQL显示不同的查询结果,),我要在datagrid中添加,修改,删处数据,当按一按钮是将现在datagrid
中的数据更新到数据库...
 要怎么弄,请给下代码

问题二:
 将datagrid显示查询结果输出到Excel,(注意:不是直接读DataSet中的数据)要怎么弄


主要是第一个问题,困饶我几天了,
大家帮一下我哦
...全文
163 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xd279545692 2005-12-08
  • 打赏
  • 举报
回复
读到Excel里面这样写
StreamWriter mywrite=new StreamWriter(textBox6.Text+".xls",false,System.Text.Encoding.UTF8,100);
for(int i=0;i<myset.Tables[0].Columns.Count;i++)
{
mywrite.Write(myset.Tables[0].Columns[i].Caption+ " ");
}
mywrite.WriteLine();

for (int j = 0 ; j< myset.Tables[0].Rows.Count;j++)
{
for (int k =0; k< myset.Tables[0].Columns.Count;k++)
{
mywrite.Write(myset.Tables[0].Rows[j].ItemArray.GetValue(k) + " ");
}
mywrite.WriteLine();
}
mywrite.WriteLine();

mywrite.Close();
MessageBox.Show("网格中数据已被写入到文件夹bin\\Debug下的"+textBox6.Text.Trim()+".xls"+"文件中...","系统提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
jinjazz 2005-12-07
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/chs/default.asp?url=/library/chs/vbcon/html/vbwlkwalkthroughdisplayingdatafromsingletableinwindowsform.asp
wangyinet 2005-12-07
  • 打赏
  • 举报
回复
楼主说的没错恩..

我也正在学习...
将datagrid显示查询结果输出到Excel有几种方法,不过不怎么清楚.
呵呵..可以相互学习..
dreamingnet 2005-12-07
  • 打赏
  • 举报
回复
汗...我态度不好??
当你急着要解决问题,有人却乱回帖....你会有什么想法??
没话说了 ..
oriega 2005-12-07
  • 打赏
  • 举报
回复
问问题要谦虚点的...
这种态度,有人知道了,也不一定想告诉你...
dreamingnet 2005-12-07
  • 打赏
  • 举报
回复
请读懂我的题目...
你连我的"注意"都没看清楚..

不懂的不要回帖...........
cdo 2005-12-07
  • 打赏
  • 举报
回复
1.你可以在你的project里面add new item -> Data Form Wizard这样来自动成一个带dataGrid的Form,然后看代码就知道怎么做了。

2.你可以遍历DataGrid中的每一个cell,然后把值写到excel中。
jhpxf 2005-12-07
  • 打赏
  • 举报
回复
帮你顶下吧,诶,又碰到这样的问题,你找找CSDN啊,有的啊!不想说了!
三省Ta叔 2005-12-07
  • 打赏
  • 举报
回复
删除:
private void button5_Click(object sender, System.EventArgs e)
{
try
{
if(dataT.Rows.Count != 0)
{
if(dataGrid1.VisibleRowCount - 1 > count)
{
adp.Update(dataT);
count = dataT.Rows.Count;
}
else
{
if(MessageBox.Show("真的要删除当前记录吗?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Information )
== DialogResult.OK )
{
string deletecmd;
SqlConnection conn = DB.dbConn();
SqlCommand cmd ;
deletecmd = " Delete From schedule_info Where time_id = CONVERT(smalldatetime,'" + dataT.Rows[dataGrid1.CurrentCell.RowNumber][0].ToString() + "') ";
conn.Open ();
cmd = new SqlCommand(deletecmd,conn);
cmd.ExecuteNonQuery();
conn.Close();
adp.Update(dataset,"schedule_info");
dataset.Clear();
adp.Fill(dataset,"schedule_info");
count = dataT.Rows.Count;
}
}
}
else
MessageBox.Show("无记录可删除!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information );
}
catch(Exception ex){ MessageBox.Show(ex.Message,"提示",MessageBoxButtons.OK,MessageBoxIcon.Information ); }
}
三省Ta叔 2005-12-07
  • 打赏
  • 举报
回复
第一个:

private DataSet dataset = new DataSet();
private DataTable dataT;
private SqlDataAdapter adp;
private SqlCommandBuilder sqlBuilder = new SqlCommandBuilder();

窗体加载on_load事件
string selectcmd;
SqlConnection conn = DB.dbConn();//自己定义的,你也可以自己定义一个
selectcmd = "select time_id ,xq ,jc ,class_id ,room_id ,course_id ,teacher from schedule_info where room_id='"+ roomId_ccc +"'
//数据读取
adp = new SqlDataAdapter(selectcmd,conn);
adp.Fill(dataset,"schedule_info");
dataT = dataset.Tables["schedule_info"];
dataT.PrimaryKey = new DataColumn[]{dataT.Columns[0]};
sqlBuilder.DataAdapter = adp;
dataGrid1.DataSource = dataset.Tables["schedule_info"];
count = dataT.Rows.Count;

在datagrid修改更新 提交更新事件
private void button1_Click(object sender, System.EventArgs e)
{
try
{
adp.Update(dataT);
count = dataT.Rows.Count;
}
catch(Exception ex) { MessageBox.Show(ex.Message ); }
}

这个是要设置主键的(在你数据库里设置一个字段为主键)
dreamingnet 2005-12-06
  • 打赏
  • 举报
回复
注意是winform的,不是web的
注意是winform的,不是web的
注意是winform的,不是web的
注意是winform的,不是web的
注意是winform的,不是web的
注意是winform的,不是web的

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧