c#获取Access数据后需要实现先查询,再修改,后保存的功能,但数据没有更新

豆豆1992 2017-09-30 12:05:04
部分代码如下:
 private void InquireProJ_Load(object sender, EventArgs e)
{
myCon = new OleDbConnection(connectionString);
myCmd = new OleDbCommand("select * from XMXXB", myCon);
myAD = new OleDbDataAdapter(myCmd);
myDS = new DataSet();
myAD.Fill(myDS, "XMXXB");
//myAD.UpdateCommand=builder .GetUpdateCommand();
builder = new OleDbCommandBuilder(myAD);
dataGridView1.DataSource = myDS.Tables["XMXXB"];

}

private void button1_Click(object sender, EventArgs e)//查询
{

object comboxText = comboBox1.Text;
object textboxText = textBox1.Text;
try
{
myCmd1 = new OleDbCommand("select * from XMXXB where " + comboxText + " like " + "'" + "%" + textboxText + "%" + "'", myCon);//这里tableName不能是string类型,因为string什么有双引号
myDS1 = new DataSet();
myAD1 = new OleDbDataAdapter(myCmd1);
myAD1.Fill(myDS1, "XMXXB");
dataGridView1.DataSource = myDS1.Tables["XMXXB"];
dataGridView1.ReadOnly = true;
dataGridView1.AllowUserToAddRows = false;
}
catch
{
MessageBox.Show("查询失败!请确定查询条件和关键字是否输入正确.");
}
}


private void button3_Click(object sender, EventArgs e)//修改
{
dataGridView1.ReadOnly = false;
MessageBox.Show("现在可以对数据作修改了!");
}


private void button4_Click(object sender, EventArgs e)//保存
{
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
object xmbh = dataGridView1["项目编号", i].Value.ToString();
object xmlx = dataGridView1["项目类型", i].Value.ToString();
object xmmc = dataGridView1["项目名称", i].Value.ToString();
object xmmj = dataGridView1["项目面积", i].Value.ToString();
object xmzl = dataGridView1["项目坐落", i].Value.ToString();
object wtf = dataGridView1["委托方", i].Value.ToString();
object xmzt = dataGridView1["项目状态", i].Value.ToString();
object blsj = dataGridView1["办理时间", i].Value.ToString();
object blr = dataGridView1["办理人", i].Value.ToString();
object ywh = dataGridView1["业务号", i].Value.ToString();
object wcsx = dataGridView1["完成时限", i].Value.ToString();

string connectionString = " Provider=Microsoft.ACE.OLEDB.15.0;Data Source=F:\\权籍系统\\QJProJ\\QJProJ\\XMXXK.accdb";
myCon = new OleDbConnection(connectionString);
string s = "update XMXXB set [项目编号]= '" + xmbh + "',[项目类型]='" + xmlx + "',[项目面积]=" + "'" + xmmj + "'" + ","
+ "[项目坐落]=" + "'" + xmzl + "'" + "," + "[委托方]=" + "'" + wtf + "'" + "," + "[项目状态]=" + "'" + xmzt + "'" + ","
+ "[办理时间]=" + "'" + blsj + "'" + "," + "[办理人] = " + "'" + blr + "'" + ","
+ "[完成时限] = " + "'" + wcsx + "'" + "," + "[项目名称]=" + "'" + xmmc + "'" + " where [业务号]=" + "'" + ywh + "'";

myCmd = new OleDbCommand(s, myCon);

myCon.Open();
myCmd.CommandText = s;
myCmd.ExecuteNonQuery();
myCon.Close();
}
MessageBox.Show("已成功保存数据!");
}
...全文
371 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
豆豆1992 2017-10-12
  • 打赏
  • 举报
回复
搞定了,调试后发现进入不了循环,把for循环中的dataGridView1.Rows.Count - 1修改为dataGridView1.Rows.Count 。
  • 打赏
  • 举报
回复
你可以把 s 的调试结果,单独放到 sql server 查询分析器去测试。不要纠结这个 c# 程序。
佳佳顿 2017-10-06
  • 打赏
  • 举报
回复
是说的datagridview里面的数据没有更新?
第18章 程序应用控制 483 18.1 提取信息 484 0795 判断驱动器类型并获取其属性 484 0796 如何得到本地机器的IP 484 0797 如何得到本地运行的EXE的路径 485 0798 得到计算机所有正在运行的进程 485 0799 获得Windows的启动模式 485 0800 获取鼠标的按钮个数及鼠标安装状态 485 0801 检测计算机是否存在网络连接 486 0802 如何判断计算机的联机状态 486 0803 获取计算机屏幕分辨率 486 0804 获取计算机当前登录的用户名称 486 18.2 系统控制 486 0805 远程关闭或重新启动计算机 486 0806 创建应用程序快捷方式 487 0807 启动Windows系统服务 488 0808 在C#应用程序中控制输入法 488 0809 打开“区域和语言选项”对话框并指定选项卡 489 0810 如何执行命令行命令? 489 0811 如何修改计算机的默认打印机 490 0812 如何实现行业软件系统注销功能 490 0813 如何将计算机设置为休眠状态 490 0814 在Windows系统中建立事件日志 491 0815 如何使PC喇叭发音 491 18.3 程序控制 491 0816 使用回车键控制鼠标焦点 491 0817 如何调用可执行应用程序 492 0818 TextBox上禁用鼠标右鍵 492 0819 如何实现屏幕截图 492 0820 如何将截取的图片保存为指定图片格式 493 0821 如何复制程序本身 493 0822 分段显示电话号码颜色 493 0823 软件版本号是如何组成的 493 0824 单击“关闭”按钮或按 Alt + F4 键时最小化窗口 494 0825 屏蔽RichTextBox控件 Ctrl + V 快捷键 495 18.4 其他 495 0826 将DataGridView控件中的数据导入Excel 495 0827 无法获取自定义环境变量的值 496 0828 将组件放到COM+服务器上去 496 0829 调用非托管的DLL文件 497 0830 如何将GridView控件数据导入Word 497 0831 如何将GridView控件数据导入Excel 497 0832 单片机如何实现在线调试 498 0833 单片机如何实现内存优化管理 498 0834 单片机实现文件系统管理 498 0835 杀死进程 498 0836 如何下载某网站上的图片资源 498 第19章 SQL查询相关技术 501 19.1 常用SQL查询技术 502 0837 如何在查询中正确使用单引号“’” 502 0838 SQL中SELECT语句的执行顺序 502 0839 在查询查询数据为指定长度的数据 502 0840 如何利用WHERE参数过滤数据 503 0841 如何正确地理解和运用SQL中的判式 503 0842 如何正确地理解和使用SQL中的关键字 503 19.2 比较、逻辑运算符查询 504 0843 如何使用算术运算符号进行比较查询 504 0844 如何使用比较运算符号进行比较查询 504 0845 如何使用AND逻辑运算符查询 505 0846 如何使用OR逻辑运算符查询 506 0847 如何联合使用AND和OR运算符查询 506 0848 如何在查询中正确使用逻辑操作符 507 0849 利用通配符进行查询 507 19.3 SQL关键字查询 508 0850 如何使用ESCAPE关键字规定转义字符 508 0851 如何使用BETWEEN进行范围查询 508 0852 如何使用NOT BETWEEN进行范围查询 509 0853 如何使用GROUP BY子句查询 509 0854 如何使用HAVING语句过滤分组数据 510 0855 如何使用ALL关键字查询 510 0856 如何使用CUBE关键字查询 511 19.4 表结构与性能 511 0857 检测信息是否存在 511 0858 @@CPU_BUSY获取CPU的工作时间 511 0859 如何获取磁盘读写次数 512 0860 获取SQL Server服务器名 512 0861 获取数据库标识号 512 0862 判断用户是否访问数据的权限 512 0863 显示表中列信息 512 0864 显示表中任意列名称 513 0865 提高SQL性能加快执行速度 513 0866 控制批处理内语句的执行 513 0867 执行查询但是显示列信息 514 0868 获取连接或试图连接的次数 514 0869 获取当前数据库的语言名 514 19.5 时间与谓词 514 0870 时间函数的使用 514 0871 设置数据库时间表显形式 515 0872 格式化日期显示格式 515 0873 如何正确理解SQL中的NULL值 516 0874 如何使用IsNull()函数来处理空值 516 0875 如何使用Nullif()函数来处理空值 516 0876 查询空值(NULL)的技巧 517 0877 利用关键字DISTINCT去除重复记录 517 0878 巧用TOP子句获取信息 518 0879 巧用CONTAINS谓词检索信息 518 0880 通过ISNULL替换信息 519 0881 比较COMPUTE和GROUP BY 519 0882 如何对指定时间段进行查询 519 0883 对某期间的数据进行查询的几种方法 519 0884 NOT与谓词进行组合条件的查询 520 19.6 聚合函数 520 0885 聚合函数SUM的使用 520 0886 聚合函数AVG的使用 521 0887 如何使用聚合函数MAX 521 0888 如何使用聚合函数MIN 522 0889 如何使用聚合函数COUNT 522 0890 如何使用聚合函数First或Last 523 19.7 子查询与连接查询 523 0891 union与连接之间的区别 523 0892 如何应用IN查询表中的记录信息 524 0893 使用一个单行的子查询更新列 524 0894 使用IN引入子查询限定查询范围 524 0895 在UPDATE语句中应用子查询 525 0896 如何应用子查询 525 0897 EXISTS与子查询联合应用 525 0898 在FROM子句中的子查询 525 0899 在DELETE语句中应用子查询 526 0900 子查询与聚合函数的应用 526 0901 有效使用内连接 526 0902 如何使用LEFT OUTER JOIN查询 526 0903 如何使用RIGHT OUTER JOIN查询 527 0904 利用CASE语句查询结果 527 19.8 交叉表 528 0905 Access中利用TRASFORM分析数据 528 0906 Access中利用TRASFORM动态分析数据 529 0907 SQL Server实现静态交叉表 529 0908 SQL Server实现动态交叉表 531 19.9 常用数据操作 532 0909 如何对字符串进行查询 532 0910 如何进行单条数据的添加 533 0911 如何进行批量数据的添加 533 0912 如何对数据进行修改 534 0913 如何对数据进行删除 534 0914 对数据数据进行局部删除 534 19.10 高级应用 535 0915 如何使用临时表 535 0916 如何查询表中的列名 535 0917 在查询中如何防止输入指定符串 536 0918 查询指定长度的数据 536 0919 获取当前数据库的详细信息 537 0920 在查询过程中灵活定义与使用别名 538 19.11 视图、存储过程和触发器的使用 538 0921 如何正确认识视图 538 0922 如何获取数据库中的全部用户视图 539 0923 如何通过视图修改数据 539 0924 如何正确理解存储过程 540 0925 如何获取数据库中的全部存储过程 540 0926 如何正确认识触发器 541 0927 Update触发器在系统日志中的应用 542 0928 触发器的嵌套使用 542 0929 获取数据库中的触发器 543 19.12 其他 544 0930 在查询程序中使用变量 544 0931 对查询结果进行排序 544 0932 批量获取结果集信息 545 0933 对查询结果生成表 545 0934 实现数据类型转换 546 0935 获取当前数据库的登录用户名 546 0936 如何正确理解数据库键字 546 0937 将结果转换为XML形式 547 0938 追加查询结果到已存在的表 547 0939 利用对多个表中的字段创建新记录集 547 0940 利用EXECUTE执行SQL语句 548 第20章 数据库技术 549 20.1 Access数据库的使用 550 0941 如何为Access数据库设置密码 550 0942 如何创建加密的Access数据库 550 0943 建立Access数据库连接 551 0944 与加密后的Access数据库建立连接 551 0945 如何提取Access数据库中的数据表名 551 0946 随机读取Access数据库记录 552 0947 将Access数据库导入到Excel中(ASP.NET) 552 0948 在.NET 2.0框架下动态创建Access数据库 553 0949 在.NET 2.0框架下动态创建Access数据表 553 0950 如何备份Access数据库 554 20.2 SQL数据库的使用 554 0951 建立SQL Server数据库连接 554 0952 如何使用ODBC访问SQL Server数据库 555 0953 读取SQL Server数据表结构 556 0954 在C#中分离SQL Server数据库 557 0955 C#中附加SQL Server数据库 558 0956 C#中附加单文件SQL Server数据库 559 0957 备份SQL Server数据库 559 0958 还原SQL Server数据库 560 0959 开启SQL Server数据库服务 561 0960 断开SQL Server数据库服务 562 0961 如何判断SQL Server数据库连接状态 562 0962 获取连接SQL Server数据库的名称 563 0963 获取SQL Server的连接统计数据 563 0964 如何调用SQL Server存储过程 563 0965 如何生成SQL数据库脚本 564 0966 SQL Server 2000无法安装的解决办法 565 20.3 其他 565 0967 如何判断记录是否为NULL 565 0968 建立Oracle数据库连接 566 0969 如何在数据表中设置主键 566 0970 DataSet读取XML文件中数据作为数据源 567 0971 如何读取Fox的DBF文件 567 0972 通用方法实现数据增、删、改功能 567 0973 通用方法获取查询结果DataSet数据集 568 0974 同时查询多条SQL语句 568 0975 如何判断是否查询到结果 568 0976 将图片以二进制格式存储到数据库中(asp.net) 569 0977 从DataReader对象读取数据的技巧 569 0978 随机显示数据库记录 569 0979 通过DataTable获得数据表的主键 569 0980 将Access数据库转化为SQL Server数据库 570 0981 将SQL Server数据库转化为Access数据库 571 0982 如何避免数据库死锁现象 572 0983 如何调用带输入参数的存储过程 572 0984 如何获取存储过程返回的结果集 573 0985 取得数据表某个单元格的值 573 0986 在ASP.NET2.0下将数据绑定DropDownList 573 0987 在ADO.NET中实现数据库的事务处理 574 0988 将任意文件保存数据库中 574 0989 将存储在数据库中的文件提取出来 575 0990 合并具有相同数据表结构的查询结果 575 0991 使用DataTable进行数据检索 575 0992 使用DataView对数据进行检索和排序 576 0993 使用DataSet建立DataTable明细表 576
前言. 第1章 Windows窗体技术 案例1.1 多文档MDI应用程序 案例1.2 QQ窗体 案例1.3 卡通窗体, 案例1.4 带有分隔栏并更换主界面背景窗体 案例1.5 半透明渐显动画和渐变窗体 案例1.6 浮动的窗体 案例1.7 在屏幕中央并总在最前窗体 案例1.8 椭圆形窗体 案例1.9 可移动的五边形窗体 案例1.10 文字窗体 案例1.11 动态滑入滑出的闪烁窗体 案例1.12 以树形显示的窗体 案例1.13 图案动画窗体 本章小结 第2章 图形图像处理技术 案例2.1 波形图特效 案例2.2 在图像中写入文字 案例2.3 图像缩放与翻转 .案例2.4 图像的涂沫 案例2.5 百叶窗图像效果 案例2.6 图像的纹理和遮罩动画效果 案例2.7 图像的积木和浮雕效果 案例2.8 文字的360°旋转效果 案例2.9 可以随意移动的GIF动画 案例2.10 图像的属性及选择点的RGB颜色值 案例2.11 运行的时钟 本章小结 第3章 多媒体处理技术 案例3.1 MP3播放器 案例3.2 Flash播放器 案例3.3 Gif播放器 案例3.4 图像滚动展示动画效果 案例3.5 电子相册 案例3.6 交通信号灯 案例3.7 随机变换图像屏幕保护程序 案例3.8 MP3音乐屏幕保护程序 本章小结 第4章 数据库处理技术 案例4.1 利用控件连接Access数据库 案例4.2 利用代码连接加密Access数据库 案例4.3 读取并浏览Access数据库中的数据 案例4.4 利用控件连接SQL Server数据库 案例4.5 利用ADO.NET访问SQL Server数据库 案例4.6 连接Excel电子表格 案例4.7 利用SQL语句向数据库表中插入数据 案例4.8 利用存储过程修改数据库中的数据 案例4.9 分页显示数据库表中的数据 案例4.10 动态查询数据库表中的数据 案例4.11 SQL Server服务的开启和断开 本章小结 第5章 水晶报表和打印处理技术 案例5.1 水晶报表中使用SQL Server数据库 案例5.2 利用水晶报表分组统计数据库中的数据 案例5.3 图表在水晶报表中的应用 案例5.4 控制水晶报表的字段个数、字体颜色及记录显示 案例5.5 水晶报表中子报表的应用 案例5.6 利用打印组件实现窗体数据的打印 案例5.7 打印输出图形图像 案例5.8 调用Excel打印表格数据 案例5.9 调用Word打印表格数据 本章小结 第6章 文件及注册表处理技术 案例6.1 文件的动态创建与删除 案例6.2 文件夹的动态创建与删除.. 案例6.3 文件的打开和保存 案例6.4 文件的加密和解密 案例6.5 文件的动态查找 案例6.6 动态复制多个文件 案例6.7 动态获取系统当前目录及程序当前目录 案例6.8 文件属性的查看与修改 案例6.9 桌面图标和驱动器的显示与隐藏 案例6.10 禁示修改IE浏览器的主页 本章小结 第7章 硬件处理技术 案例7.1 计算机的注销、关闭和重新启动 案例7.2 任务栏和“开始”按钮的显示与隐藏 案例7.3 声卡的检测及PC喇叭的控制 案例7.4 动态控制光驱的打开和关闭 案例7.5 鼠标的控制 案例7.6 设置系统默认输入法 案例7.7 锁定计算机 案例7.8 屏幕保护程序的启动 案例7.9 利用串口进行通信 本章小结 第8章 数据结构与算法 案例8.1 单向链表数据结构 案例8.2 堆栈数据结构 案例8.3 队列数据结构 案例8.4 冒泡排序和选择排序 案例8.5 希尔排序和插入排序 案例8.6 搬砖问题算法 案例8.7 爱因斯坦的阶梯问题算法 案例8.8 求最大公因子的欧几里德算法 案例8.9 IP地址的合法性检查算法 案例8.10 由旧身份证自动生成新身证算法 本章小结 第9章 网络开发技术 案例9.1 动态获取本机名和IP地址 案例9.2 动态获取本机网卡地址 案例9.3 动态修改本机IP地址 案例9.4 网络连接和传输信息 案例9.5 网络在线检测 案例9.6 网络在线浏览器 案例9.7 HTTP动态下载 案例9.8 动态查看网页标题信息 案例9.9 电子邮件的发送 本章小结 第10章 Web程序开发技术 案例10.1 利用AdRotator控件随机显示广告图像 案例10.2 利用Calendar控件动态查询系统日期 案例10.3 会员登录系统 案例10.4 利用Application对象实现网站计数器 案例10.5 利用Session对象实现留言板 案例10.6 动态上传图像并显示 案例10.7 利用控件显示数据库表中的数据 案例10.8 分页显示数据库表中的数据 案例10.9 动态选择、编辑、删除数据库表中的数据 本章小结 第11章 应用程序的打包 案例11.1 Windows应用程序的打包 案例11.2 Web应用程序的打包 案例11.3 带有数据库文件的应用程序的打包 案例11.4 带有特定文件的应用程序打包 案例11.5 带有注册表信息的应用程序打包 本章小结 第12章 消费管理系统 12.1 系统总体设计 12.2 系统数据库设计 12.3 实例效果 12.4 消费管理登录系统 12.5 消费管理系统主界面 12.6 消费管理系统的查询功能 12.7 消费信息管理功能 12.8 消费信息报表输出界面 本章小结

110,567

社区成员

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

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

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