C#程序连接数据库及读取数据库中字段的简单方法总结_C#教程

连接Access数据库

string connStr = @"Data Source=D:\database.mdb; Provider=Microsoft.Jet.OleDb.4.0;"; //数据库连接字符串
OleDbConnection conn = new OleDbConnection(connStr); 

连接Oracle数据库

//数据库和客户端在同一台机器上
using System.Data.OracleClient;
string connStr = "data source=orcl;user=user;password=pwd;";
OracleConnection conn = new OracleConnection(connStr);
//客户端和数据库不在同一台机器,可以使用下面的连接方式
using System.Data.OleDb;
//HOST是Oracle数据库服务器地址,PORT是Oracle数据库端口,SERVICE_NAME是数据库名称
string connStr = "Provider=OraOLEDB.Oracle.1;Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)));User ID=message;Password=message;";
OleDbConnection conn = new OleDbConnection(connStr); 

连接SqlServer数据库

using System.Data.SqlClient;
string connStr = "data source=127.0.0.1;initial catalog=database;user id=sa;pwd=sa";
SqlConnection conn = new SqlConnection(connStr); 

连接数据库,并从数据库中读取数据后并输出!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient; 

namespace Login
{
 class Program
 {
  static void Main(string[] args)
  {
   //新建一个数据库连接
   using(SqlConnection conn = new SqlConnection(GetConnectString()))
   {
    conn.Open();//打开数据库
    //Console.WriteLine("数据库打开成功!");
    //创建数据库命令
    SqlCommand cmd = conn.CreateCommand();
    //创建查询语句
    cmd.CommandText = "SELECT * FROM userinfo";
    //从数据库中读取数据流存入reader中
    SqlDataReader reader = cmd.ExecuteReader();     

    //从reader中读取下一行数据,如果没有数据,reader.Read()返回flase
    while (reader.Read())
    {
     //reader.GetOrdinal("id")是得到ID所在列的index,
     //reader.GetInt32(int n)这是将第n列的数据以Int32的格式返回
     //reader.GetString(int n)这是将第n列的数据以string 格式返回
     int id = reader.GetInt32(reader.GetOrdinal("id"));
     string name = reader.GetString(reader.GetOrdinal("name"));
     string pwd = reader.GetString(reader.GetOrdinal("password"));
     int age = reader.GetInt32(reader.GetOrdinal("age"));
     string sex = reader.GetString(reader.GetOrdinal("sex"));
     string phone = reader.GetString(reader.GetOrdinal("phone"));
     string address = reader.GetString(reader.GetOrdinal("Address")); 

     //格式输出数据
     Console.Write("ID:{0},Name:{1},PWD:{2},Age:{3},Sex:{4},Phone{5},Address:{6}\n", id, name, pwd, age, sex, phone, address);
    }
   }
   Console.ReadKey();
  }
  //得到一个数据库连接字符串
  static string GetConnectString()
  {
   return "Data Source=(local);Initial Catalog=db1;Integrated Security=SSPI;";
  }
 }
} 

判断数据库中取出的字段值是否为空(NULL)
最近操作数据库,需要判断返回的字段值是否为空,在Google上搜索到三种方法。

1 通过System.DBNull判断,网上大部分都使用这个方法。

DataTable dt;        //假设字段为name, dt已经保存了数据
dt.rows[0]["name"] == System.DBNull.Value; //判断第一行数据的name字段是否为空 

2 通过IsNull判断

DataTable dt;    //假设字段为name, dt已经保存了数据
dt.rows[0].IsNull("name"); //判断第一行数据的name字段是否为空 

3 通过ToString() 判断,这个方法我没有试过。

DataTable dt;       //假设字段为name, dt已经保存了数据
dt.rows[0]["name"].ToString() == ""; //判断第一行数据的name字段是否为空

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
c#
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-10-27 07:19:05

C#程序连接数据库及读取数据库中字段的简单方法总结_C#教程的相关文章

c#中的常用ToString()方法总结_C#教程

对于int,double等的tostring: C     货币     2.5.ToString("C")     ¥2.50     D     十进制数     25.ToString("D5")     00025     E     科学型     25000.ToString("E")     2.500000E+005     F     固定点     25.ToString("F2")     25.00  

sql server- SQLserver2012数据库B读取数据库A

问题描述 SQLserver2012数据库B读取数据库A .本机的两个数据库,B读取A的数据 想要个DEMO,指导一下 解决方案 然后在"安全性"中,选择使用"此安全上下文建立连接",最后填写用户名/密码.这里链接服务器就设置好了,可以右点击进行测试. 数据访问时,格式如下: 链接名.库名.架构名.表名 如访问10.2.2.19上的a库下的test表,select *from [10.2.2.19].a.dbo.test 解决方案二: 两台服务器之间,只要先建立链服

c++-读取Excel中字段数据,格式为日期,但读出来与表格中日期不一样

问题描述 读取Excel中字段数据,格式为日期,但读出来与表格中日期不一样 if(ret.vt==VT_DATE) //时间格式 { SYSTEMTIME st; VariantTimeToSystemTime((long)&ret.date, &st); CString date; date.Format("%d/%d/%d %d:%d:%d",st.wYear,st.wMonth, st.wDay,st.wHour,st.wMinute,st.wSecond,st.

Python读取mp3中ID3信息的方法_python

本文实例讲述了Python读取mp3中ID3信息的方法.分享给大家供大家参考.具体分析如下: pyid3不好用,常常有不认识的. mutagen不错,不过默认带的easyid3不会读取注释,需要手工hack一下 Python代码如下: from mutagen.mp3 import MP3 import mutagen.id3 from mutagen.easyid3 import EasyID3 EasyID3.valid_keys["comment"]="COMM::'X

在Python中操作时间之tzset()方法的使用教程

  这篇文章主要介绍了在Python中操作时间之tzset()方法的使用教程,是Python学习中的基础知识,需要的朋友可以参考下 tzset()方法重置所使用的库例程的时间转换规则.环境变量TZ指定如何完成此操作. TZ环境变量的标准格式(空格为清楚起见而加的): 代码如下: std offset [dst [offset [,start[/time], end[/time]]]] std和dst: 三个或更多的字母数字给人的时区缩写.这些将被传播到time.tzname. offset: 偏

修改MySQL数据库中表和表中字段的编码方式的方法_Mysql

今天向MySQL数据库中的一张表添加含有中文的数据,可是老是出异常,检查程序并没有发现错误,无奈呀,后来重新检查这张表发现表的编码方式为latin1并且原想可以插入中文的字段的编码方式也是latin1,然后再次仔细观察控制台输出的异常,进一步确定是表和表中字段编码不当造成的,那就修改表和其中对应的字段呗,网上找了一会儿,你别说还真有,执行完sql脚本后果然可以存入中文了,尽管如此还是认为有必要总结一下,古人云:好记性不如烂笔头嘛,呵呵呵. 修改表的编码方式:ALTER TABLE `test`

C及C++中typedef的简单使用介绍_C 语言

typedef 声明,简称 typedef,为现有类型创建一个新的名字.比如人们常常使用 typedef 来编写更美观和可读的代码.所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性. 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明. 又是在学数据结构的时候,发现了之前学习的知识遗忘很多,在发现对C/C++中关键字typedef的理解还是没有到位后,我翻阅了学C++

C++中replace()函数使用方法汇总_C 语言

C++编程语言中的string应用方式多样化,每一种应用方式都能帮助我们提实现特定的功能需求.在这里我们将会为大家详细介绍一下其中一个比较重要的用法,有关C++ replace()函数的应用方式. basic_string::max_size C++ replace()函数返回string 能放的最大元素个数.(不同于capacity) size _ type max _ size( ) const; basic_string <char>::size_type cap, max; cap =

oracle 使用sql获取数据库表、表的字段的多种方法_oracle

--第一种方法: 查询dba_tab_columns 复制代码 代码如下: select COLUMN_NAME,DATA_TYPE,DATA_LENGTH from dba_tab_columns where table_name =upper('表名') order by COLUMN_NAME --这种方法需要有DBA权限 --第二种方法: 查询user_tab_cols select COLUMN_NAME,DATA_TYPE,DATA_LENGTH from user_tab_cols