一、知识介绍

  ①ASP.NET 使用的是MVC模式,开发工具Visual studio ,语言C#

  ②Oracle是比较重型的数据库,这里主要介绍连接数据库,对数据进行具体的使用

  ③Visual Studio连接数据库都是需要dll文件,方法相似。

二、步骤

  ①新建一个ASP项目

  ②右击项目或引用,管理Nuget程序包。搜索Oracle,下载Oracle的dll依赖

    

  ③由于数据库的增删改查常用,放在一个方法中。新建了类库,把方法放入类库中,在项目中需添加引用。  

 using Oracle.DataAccess.Client;
using System;
using System.Data;
using System.Collections.Generic;
using System.Configuration; namespace Common
{
public class DBHelper
{
// static string connString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=118.31.20.98)(PORT=33602))(CONNECT_DATA=(SERVICE_NAME=STUTEST)));Persist Security Info=True;User ID=WMSTEST;Password=WMSTEST;"; static string connString = ConfigurationManager.ConnectionStrings["Conn_DB"].ToString(); /// <summary>
/// 查询表数据(单表)
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns></returns>
public static DataSet SelectData(string sql)
{
DataSet ds = new DataSet();
try
{
using (OracleConnection conn = new OracleConnection(connString))
{
//conn.Open();
OracleCommand cmd = new OracleCommand(sql, conn);
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
adapter.Fill(ds);
return ds;
}
}
catch (Exception e)
{
Console.Write(e);
}
return null;
} //增改删
/// <summary>
/// 执行sql 语句
/// </summary>
/// <param name="sql"></param>
/// <returns>返回影响的行数</returns>
public static Boolean AddUpDelData(string sql)
{
try
{
using (OracleConnection conn = new OracleConnection(connString))
{
conn.Open();
OracleCommand cmd = new OracleCommand(sql, conn);
int row = cmd.ExecuteNonQuery();
conn.Close();
if (row > )
{
return true;
}
}
}
catch (Exception e)
{
Console.Write(e);
}
return false;
} public static Boolean ExeTransaction(List<string> sqlText) { using (OracleConnection conn = new OracleConnection(connString))
{
conn.Open();
OracleTransaction tran = conn.BeginTransaction();
try
{ OracleCommand cmd = new OracleCommand(); cmd.Transaction = tran; cmd.Connection = conn; foreach(string item in sqlText)
{
cmd.CommandText = item; cmd.ExecuteNonQuery();
}
tran.Commit(); return true; } catch (Exception et) {
tran.Rollback();
return false;
} finally
{
conn.Close();
} } } }
}

    <1>static string connString = ConfigurationManager.ConnectionStrings["Conn_DB"].ToString();

      获取Web.config中配置的连接字符串,同上注释的字符串可直接引用      

     <connectionStrings>
<add name="Conn_DB" connectionString="Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =
(PROTOCOL = TCP)(HOST = 192.168.1.13)(PORT=8686)))(CONNECT_DATA =(SERVER = DEDICATED)
(SERVICE_NAME = STUTEST)));User Id=WMSTEST;Password=WMSTEST;" providerName="Oracle.DataAccess.Client" />
</connectionStrings>

    <2>插入,删除,修改都可用一个方法,执行语句相同,返回true则表示有数据收到影响

    <3>事务,事务是多条SQL语句一起执行,如果一条错误,那么将会回滚。这个在表之间主外键关系是有必要同时生效。只要把SQL语句放在List集合中,传到方法中即可

    <4>查询数据的到的DateSet,DateSet可以解析成一个Model对象类,也可以直接转换成Json字符串,得到的结果

{"total":2,"rows":[{"PRODUCTID":"003","CREATETIME":"2018/7/18 15:49:29"},{"PRODUCTID":"003","CREATETIME":"2018/7/18 15:49:29"}]}

    <5>数据转换的方法(此方法返回的数据可应用于bootstrap-table中的表格初始化数据)

 public string GetProductData()
{
Hashtable ht = new Hashtable();
try
{
string sql_getdata = "select * from WQY_PRODUCT";
string sql_gettotal = "select COUNT(*) from WQY_PRODUCT"; DataTable dt_data = DBHelper.SelectData(sql_getdata).Tables[];
DataTable dt_total = DBHelper.SelectData(sql_gettotal).Tables[]; int total = int.Parse(dt_total.Rows[][].ToString());
ht.Add("total", total);
ht.Add("rows", dt_data);
return JsonConvert.SerializeObject(ht);
}
catch (Exception ex)
{
ht.Add("total", );
ht.Add("rows", null);
Console.Write(ex);
string a = JsonConvert.SerializeObject(ht);
return JsonConvert.SerializeObject(ht);
}
}

  

  <6>通过对DateTable或者DateSet进行循环即可取得每一个key对应的value值。

                 for(int i = ; i < dt_data.Rows.Count; i++)
{
string a = dt_data.Rows[]["PRODUCTID"].ToString();
}

ASP.NET C# 连接 Oracle数据库增删改查,事务的更多相关文章

  1. C# 连接 Oracle数据库增删改查,事务

    一. 前情提要 一般.NET环境连接Oracle数据库,是通过 TNS/SQL.NET 配置文件,而 TNS 必须要 Oracle 客户端(如果连接的是服务器的数据库,本地还要装一个 client , ...

  2. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  3. jsp-2 简单的servlet连接mysql数据库 增删改查

    连接mysql数据库的操作 有增删改查 用的包有 commons-lang3-3.5 mysql-connector-java-5.1.40-bin 但是实际上也就是 数据查询和数据处理两种 所以对数 ...

  4. 【转】mybatis连接Oracle做增删改查

    原文地址:http://blog.csdn.net/liumengcheng/article/details/34422475 入门请看http://blog.csdn.NET/liumengchen ...

  5. Mybatis连接Oracle实现增删改查实践

    1. 首先要在项目中增加Mybatis和Oracle的Jar文件 这里我使用的版本为ojdbc7 Mybatis版本为:3.2.4 2. 在Oracle中创建User表 create table T_ ...

  6. java 连接oracle 进行增删改查

    1.在DAO层新增类OraclePersionDao package com.test.dao; import java.sql.*; /** * Created by wdw on 2017/9/1 ...

  7. java连接mysql数据库增删改查操作记录

    1. 连接数据库.得到数据库连接变量 注意连接数据库的时候 (1)打开DB Browser 新建一个Database Driver,注意加入Driver JARs的时候加入的包,我的是mysql-co ...

  8. Python cx_oracle自动化操作oracle数据库增删改查封装,优化返回查询数据

    # coding=utf-8 import cx_Oracle import os import json os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_C ...

  9. Asp.Net操作MySql数据库增删改查

    Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git  1.安装MySQL数据库 ...

随机推荐

  1. 仿微信的IM聊天时间显示格式(含iOS/Android/Web实现)[图文+源码]

    本文为原创分享,转载请注明出处. 1.引言 即时通讯IM应用中的聊天消息时间显示是个再常见不过的需求,现在都讲究用户体验,所以时间显示再也不能像传统软件一样简单粗地暴显示成“年/月/日 时:分:秒”这 ...

  2. [Swift]LeetCode854. 相似度为 K 的字符串 | K-Similar Strings

    Strings A and B are K-similar (for some non-negative integer K) if we can swap the positions of two ...

  3. Kubernetes---存储

    pod中定义需要的存储卷,类型为pvc pvc 与  pv 建立绑定关系 kubectl explain pv 定义pv时不要加namspce

  4. Linux 的文件权限和目录配置

    1.Linux文件属性 用root用户登录linux后,执行 ls -al 命令查看文件.显示如下: 文件属性示意图如下: 第一列代表这个文件的类型和权限 第一个字符代表这个文件是:目录.文件或链接文 ...

  5. java算法(1)---余弦相似度计算字符串相似率

    余弦相似度计算字符串相似率 功能需求:最近在做通过爬虫技术去爬取各大相关网站的新闻,储存到公司数据中.这里面就有一个技术点,就是如何保证你已爬取的新闻,再有相似的新闻 或者一样的新闻,那就不存储到数据 ...

  6. JS对json操作的扩展

    一.JSON对象 JSON是 JavaScript 的原生对象,用来处理 JSON 格式数据.它有两个静态方法:JSON.stringify()和JSON.parse(). JSON.stringif ...

  7. solr之环境配置一

    安装Java JDK solr运行需要java serverlet 容器,默认使用jetty,或者tomcat,jboss等等. 下载一个jdk,我的jdk是jdk1.7.0_65. 安装JDK的步骤 ...

  8. .NET Core脚本工具dotnet-script

    什么是dotnet-script "dotnet-script"是github上一个开源的.net core global tool, 项目地址https://github.com ...

  9. RabbitMQ学习笔记(三) 发布与订阅

    发布与订阅 在我们使用手机发送消息的时候,即可以选择给单个手机号码发送消息,也可以选择多个手机号码,群发消息. 前面学习工作队列的时候,我们使用的场景是一个消息只能被一个消费者程序实例接收并处理,但是 ...

  10. ASP.NET Core DI 手动获取注入对象

    ASP.NET Core DI 一般使用构造函数注入获取对象,比如在ConfigureServices配置注入后,通过下面方式获取: private IValueService _valueServi ...