C#编程访问数据库测试程序
2009-05-02 21:43
204 查看
Code
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace CSharpBegining
{
class Program
{
//C#编程访问数据库测试程序
static void Main(string[] args)
{
adpter();
//this.BaseCommand();
}
private static void adpter()
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["CSharpBegining.Properties.Settings.ArchivesConnectionString"].ConnectionString);
//conn.Open();
}
private void BaseCommand()
{
SqlConnection conn = new SqlConnection();
//conn.ConnectionString = ConfigurationManager.ConnectionStrings["CSharpBegining.Properties.Settings.ArchivesConnectionString"].ConnectionString;
conn.ConnectionString = "Data Source=wei-pc;Initial Catalog=Archives;Integrated Security=true";
//exec ExecuteReader()
SqlCommand cmdReader = new SqlCommand();
cmdReader.CommandText = "select * from [Transfer]";
cmdReader.Connection = conn;
//exec ExecuteScalar()
//SQL SERVER 不区分大小写,但是个人感觉还是区分比较好,以免出现莫名其妙的问题
SqlCommand cmdCount = new SqlCommand("select count(*) from [user]", conn);
//exec ExecuteNonQuery
SqlCommand cmdNonQ = new SqlCommand("insert into [User] values (007,'fireice','50126',2009/4/1,10)", conn);
//测试CommandType.TableDirect。结果失败。SQL SERVER 2005版本为开发版
//SqlCommand cmdType = new SqlCommand("[User]", conn);
//.Net Framework SqlClient 数据提供程序不支持ommandType 枚举值 512
//cmdType.CommandType = CommandType.TableDirect;
string tableName = "User";
SqlCommand cmdPrt = new SqlCommand("SELECT * FROM [" + tableName + "] WHERE userID=@userID", conn);
cmdPrt.Parameters.Add("@userID", SqlDbType.NVarChar).Value = "7";
////SqlCommand cmdPrt = new SqlCommand("SELECT * FROM [@User] WHERE userID=@userID", conn);
//这种方法行不通,存储过程中也尚未找到解决表名作为参数的办法
////cmdPrt.Parameters.Add("@User", SqlDbType.Structured).Value = "User";
try
{
conn.Open();
//int rowCount = (int)cmdCount.ExecuteScalar();
//int res = cmdNonQ.ExecuteNonQuery();
SqlDataReader rd;
//rd= cmdReader.ExecuteReader();
//rd = cmdType.ExecuteReader();
rd = cmdPrt.ExecuteReader();
while (rd.Read())
{
System.Console.Write(rd[0].ToString() + " ");
System.Console.Write(rd.GetString(1) + " ");
System.Console.Write(rd[2] + " ");
System.Console.Write(rd["loginTimes"] + " ");
System.Console.Write(rd.FieldCount + " "); //列数量
System.Console.WriteLine();
System.Console.WriteLine();
for (int index = 0; index < rd.FieldCount; index++)
{
System.Console.Write(rd[index] + "_");
}
System.Console.WriteLine("\n");
}
}
catch (System.Exception e)
{
System.Console.WriteLine(e.ToString());
}
finally
{
conn.Close();
}
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace CSharpBegining
{
class Program
{
//C#编程访问数据库测试程序
static void Main(string[] args)
{
adpter();
//this.BaseCommand();
}
private static void adpter()
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["CSharpBegining.Properties.Settings.ArchivesConnectionString"].ConnectionString);
//conn.Open();
}
private void BaseCommand()
{
SqlConnection conn = new SqlConnection();
//conn.ConnectionString = ConfigurationManager.ConnectionStrings["CSharpBegining.Properties.Settings.ArchivesConnectionString"].ConnectionString;
conn.ConnectionString = "Data Source=wei-pc;Initial Catalog=Archives;Integrated Security=true";
//exec ExecuteReader()
SqlCommand cmdReader = new SqlCommand();
cmdReader.CommandText = "select * from [Transfer]";
cmdReader.Connection = conn;
//exec ExecuteScalar()
//SQL SERVER 不区分大小写,但是个人感觉还是区分比较好,以免出现莫名其妙的问题
SqlCommand cmdCount = new SqlCommand("select count(*) from [user]", conn);
//exec ExecuteNonQuery
SqlCommand cmdNonQ = new SqlCommand("insert into [User] values (007,'fireice','50126',2009/4/1,10)", conn);
//测试CommandType.TableDirect。结果失败。SQL SERVER 2005版本为开发版
//SqlCommand cmdType = new SqlCommand("[User]", conn);
//.Net Framework SqlClient 数据提供程序不支持ommandType 枚举值 512
//cmdType.CommandType = CommandType.TableDirect;
string tableName = "User";
SqlCommand cmdPrt = new SqlCommand("SELECT * FROM [" + tableName + "] WHERE userID=@userID", conn);
cmdPrt.Parameters.Add("@userID", SqlDbType.NVarChar).Value = "7";
////SqlCommand cmdPrt = new SqlCommand("SELECT * FROM [@User] WHERE userID=@userID", conn);
//这种方法行不通,存储过程中也尚未找到解决表名作为参数的办法
////cmdPrt.Parameters.Add("@User", SqlDbType.Structured).Value = "User";
try
{
conn.Open();
//int rowCount = (int)cmdCount.ExecuteScalar();
//int res = cmdNonQ.ExecuteNonQuery();
SqlDataReader rd;
//rd= cmdReader.ExecuteReader();
//rd = cmdType.ExecuteReader();
rd = cmdPrt.ExecuteReader();
while (rd.Read())
{
System.Console.Write(rd[0].ToString() + " ");
System.Console.Write(rd.GetString(1) + " ");
System.Console.Write(rd[2] + " ");
System.Console.Write(rd["loginTimes"] + " ");
System.Console.Write(rd.FieldCount + " "); //列数量
System.Console.WriteLine();
System.Console.WriteLine();
for (int index = 0; index < rd.FieldCount; index++)
{
System.Console.Write(rd[index] + "_");
}
System.Console.WriteLine("\n");
}
}
catch (System.Exception e)
{
System.Console.WriteLine(e.ToString());
}
finally
{
conn.Close();
}
}
}
}
相关文章推荐
- Qt MSQL数据库访问测试程序
- 访问数据库程序的一般步骤
- 一个简单的jsp访问数据库程序
- [数据库测试]强烈推荐一个python ODBC数据源插件,可支持Oracle,Db2,Mysql,Sql-server以及各种数据库版本,附例子和测试程序
- 06-编写Hibernate API编写访问数据库的代码,使用Junit进行测试
- LR11直接对数据库访问操作方法在性能测试中的应用总结
- 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )
- 使用JDBC创建数据库访问程序
- [数据库测试]强烈推荐一个python ODBC数据源插件,可支持Oracle,Db2,Mysql,Sql-server以及各种数据库版本,附例子和测试程序
- 数据库主从安装、主从同步测试、不完全同步再到程序监控
- 工厂模式+配置文件+反射 实现数据库访问程序
- Hibernate万能数据库访问程序及其存在问题
- 数据库连接测试程序(SQL Server 2000 Driver for JDBC Service Pack 3 安装测试)
- plsql远程访问数据库 解决ora-12541:TNS:无监听程序
- 当您试图配置 Microsoft Access 2010 数据库用户数据源: 错误消息"Microsoft 访问驱动程序 (*.mdb、 *.accdb) ODBC 驱动程序的安装程序例程未找到。
- JDBC访问数据库的基本程序
- VC中使用ADO访问数据库技术程序实现方法
- 请问一下asp.net程序中,数据库访问用什么方式比较好
- servlet 定时操作,定时访问数据库,程序应该如何实现
- java application 应用程序 使用JDBC proxool 两种方式连接数据库 测试程序代码