转载C#操作数据库小结
1、常用的T-Sql语句
查询:SELECT * FROM tb_test WHERE ID='1' AND name='xia'
SELECT * FROM tb_test
插入:INSERT INTO tb_test VALUES('xia','123')
INSERT INTO tb_test(name) VALUES('xia')
更新:UPDATE tb_test SET password='234' WHERE ID='1'
删除:DELETE FROM tb_test WHERE ID='1'
DELETE tb_test WHERE ID='1'
2、在vs2010中获取数据库连接字符串
string connectionString = Properties.Settings.Default.DatabaseTestConnectionString;
3、SqlCommand类型
查询:
using (SqlConnection connection = new SqlConnection(connectionString)) { try { SqlCommand command = new SqlCommand(selectStr, connection); command.Connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) label1.Text = "name:" + reader["name"].ToString(); //数据读取 command.Connection.Close(); } catch (SqlException ex) { throw ex; } }
插入、修改、删除:
using (SqlConnection connection = new SqlConnection(connectionString)) { try { SqlCommand command = new SqlCommand(cmdStr, connection); command.Connection.Open(); command.ExecuteNonQuery(); command.Connection.Close(); } catch (SqlException ex) { throw ex; } }
4、DataTable类型,查询、添加、修改、删除
DataTable使用查询、添加、删除、修改时,需要用到SqlDataAdapter类
string selectStr = "SELECT * FROM tb_test2";
查询:
代码如下:
using (SqlConnection connection = new SqlConnection(connectionString)) { try { SqlDataAdapter adapter = new SqlDataAdapter(selectStr, connection); DataTable dataTable = new DataTable(); adapter.Fill(dataTable); //数据读取 label1.Text = dataTable.Rows[][].ToString(); } catch (SqlException ex) { throw ex; } }
添加:
代码如下:
using (SqlConnection connection = new SqlConnection(connectionString)) { try { SqlDataAdapter adapter = new SqlDataAdapter(selectStr, connection); DataTable dataTable = new DataTable(); adapter.Fill(dataTable); //添加数据 DataRow newRow = dataTable.NewRow(); newRow["id"] = "tesr"; newRow["; dataTable.Rows.Add(newRow); SqlCommandBuilder builder = new SqlCommandBuilder(adapter); adapter.Update(dataTable); //更新到数据库 } catch (SqlException ex) { throw ex; } }
修改:
代码如下:
using (SqlConnection connection = new SqlConnection(connectionString)) { try { SqlDataAdapter adapter = new SqlDataAdapter(selectStr, connection); DataTable dataTable = new DataTable(); adapter.Fill(dataTable); //修改数据 DataRow updateRow = dataTable.Rows[]; updateRow["id"] = "update"; updateRow["; SqlCommandBuilder builder = new SqlCommandBuilder(adapter); adapter.Update(dataTable); //更新到数据库 } catch (SqlException ex) { throw ex; } }
删除:
代码如下:
using (SqlConnection connection = new SqlConnection(connectionString)) { try { SqlDataAdapter adapter = new SqlDataAdapter(selectStr, connection); DataTable dataTable = new DataTable(); adapter.Fill(dataTable); dataTable.Rows[].Delete(); //删除记录 SqlCommandBuilder builder = new SqlCommandBuilder(adapter); adapter.Update(dataTable); //更新到数据库 } catch (SqlException ex) { throw ex; } }
5、DataSet类型
DataSet操作跟DataTabel操作基本是一样的,只是DataSet可以储存有多个表格,所以就多做介绍了
6、个人总结
个人感觉,用 SqlCommand比较灵活,而DataSet是实现ADO.NET断开式连接的核心,比较安全
转载C#操作数据库小结的更多相关文章
- 【转载】java数据库操作
数据库访问几乎每一个稍微成型的程序都要用到的知识,怎么高效的访问数据库也是我们学习的一个重点,今天的任务就是总结java访问数据库的方法和有关API,java访问数据库主要用的方法是JDBC,它是ja ...
- C#用SQLDMO操作数据库----转载
C#用SQLDMO操作数据库 sqldmo.dll是随sql server2000一起发布的.sqldmo.dll自身是一个com对象 sqldmo(sql distributed managemen ...
- 0107 spring操作数据库的3个架子
背景 数据库开发是java的核心内容之一,基础就是jdbc了: 然而直接使用jdbc,需要写大量的try-catch-finally模板代码: 管理系统使用hibernate作为orm框架比较方便,遵 ...
- Asp.Net MVC 自定义的MVC框架(非EF操作数据库)
一些废话:在北京辞职回家不知不觉中已经半年多了,这半年中有过很多的彷徨,困惑,还有些小小难受.半年时间算是我人生以来遇到过的最困苦的时候.理想的工作跟我擦肩而过,驾照也没有考过,年后这一改革...,毕 ...
- 一次莽撞的行为:在phpmyadmin中修改MySQL root密码后无法操作数据库
一.手贱行为(✿◡‿◡) 在一次开发中通过xampp方式安装了PHP环境,需要操作数据库时通过phpmyadmin访问MySQL,在一次数据库操作时想起没有设置密码,于是直接在mysql数据库中的us ...
- Spring4.3.1 JDBCTemplate操作数据库
个人总结,转载请注明出处:http://www.cnblogs.com/lidabnu/p/5679354.html 基于Spring4.3.1官方文档总结,官方文档链接http://docs.spr ...
- iOS - SQLite Database 操作数据库
iOS - SQLite Database 操作数据库 Sqlite 能被用在ios上做数据处理用,只要你懂得一点sql 就很容易使用sqlite 1:创建一个简单的View based appl ...
- 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷
原文:通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下: 步骤1:通过MyEcl ...
- Java数据库连接--JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
随机推荐
- 剖析ASP.NET Core MVC(Part 1)- AddMvcCore(译)
原文:https://www.stevejgordon.co.uk/asp-net-core-mvc-anatomy-addmvccore发布于:2017年3月环境:ASP.NET Core 1.1 ...
- Cookie个数压缩存存储实践
提到cookie,大家都不会陌生的,几乎涉及到交互或统计的WEB系统都会使用到cookie,关于cookie的基础知识网上也有很多,这里推荐两篇文章: 聂微东的: http://www.cnblogs ...
- 编译 arm 版的qt
因为项目需要,我们需要在开发板上使用QT开发平台,因此需要编译一个arm版的QT. 在网上找了一些资料,费了几天时间,终于成功了. 第一步,准备源码 先下载QT 源码,在http://qt-proje ...
- About stats collected
pg_class.relpages pg_class.reltuples仅仅是近似值,和实际数据会有点误差: 新建空表.首次insert对自己主动收集和更新统计信息,影响的表pg_class\pg_s ...
- ckeditor 前段js配置toolbar以及取值(实用)
<%@ page contentType="text/html;charset=UTF-8"%><%@ include file="/WEB-INF/v ...
- activemq集群搭建Demo
activemq5.14.5单节点安装Demo 第一步:创建集群目录 [root@node001 ~]# mkdir -p /usr/local/activemqCluster 复制单点至集群目录 [ ...
- 树莓派学习笔记——GPIO功能学习
0.前言 树莓派现在越来越火,网上树莓派的资料也越来越多.树莓派的学习可以分为linux系统学习和linux驱动学习,利用树莓派制作LED流水灯应该算是驱动学习吧.树莓派来自国外,国外嵌入式开 ...
- python网站
https://github.com/search?utf8=%E2%9C%93&q=python+sockethttps://github.com/search?p=2&q=pyth ...
- HDU-1090-A+B for Input-Output Practice (II)(骗訪问量的)
A+B for Input-Output Practice (II) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/327 ...
- struts2中 JFreeChart使用
添加3个包 struts2-jfreechart-plugin-2.3.16.3.jar jcommon-1.0.16.jar jfreechart-1.0.13.jar struts.xml中配置 ...