20131209-数据库导入导出数据-sqlhelper-第十七天
[1]
导出数据
namespace _05导出数据
{
class
Program
{
static
void Main(string[] args)
{
string str = "Data Source=xy-pc;Initial Catalog=MyItcast;Integrated Security=True";
using (SqlConnection con=new
SqlConnection(str))
{
string sql = "select TClassId,TClassName,tclassdesc FROM TblClass";
using (SqlCommand cmd=new
SqlCommand(sql,con))
{
con.Open();
using (SqlDataReader sda=cmd.ExecuteReader())
{
if (sda.HasRows)
{
//把数据库中的文件写入到文本文件中去
using (StreamWriter sw=new
StreamWriter("1.txt"))
{
sw.WriteLine("{0},{1},{2}",sda.GetName(0),sda.GetName(1),sda.GetName(2));
while (sda.Read())
{
sw.WriteLine("{0},{1},{2}",sda["tclassid"],sda["tclassname"],sda["tclassdesc"]);
}
}
}
}
}
}
Console.WriteLine("搞定了");
Console.ReadKey();
}
}
}
[2]
namespace _06导入数据
{
class
Program
{
static
void Main(string[] args)
{
using (StreamReader sr=new
StreamReader("1.txt"))
{
string line = sr.ReadLine();//读取第一行内容
string str = "Data Source=xy-pc;Initial Catalog=MyItcast;Integrated Security=True";
using (SqlConnection con=new
SqlConnection(str))
{
string sql = "insert INTO TblClass(TClassName,TClassDesc)VALUES(@TClassName,@TClassDesc)";
using (SqlCommand cmd=new
SqlCommand(sql,con))
{
con.Open();//打开数据库
//设置每个参数的类型
SqlParameter[] param =
{
new
SqlParameter("@TClassName", System.Data.SqlDbType.NVarChar),
new
SqlParameter("@TClassDesc", System.Data.SqlDbType.NVarChar)
};
cmd.Parameters.AddRange(param);
while ((line=sr.ReadLine())!=null)
{
string[]txts= line.Split(',');
string className = txts[1];
string classDesc = txts[2];
//给数组中的每个参数进行赋值
param[0].Value = className;
param[1].Value = classDesc;
cmd.ExecuteNonQuery();
}//end while
}//end using
}//end using
}//end 流
Console.WriteLine( "执行完了");
Console.ReadKey();
}
}
}
[3]App.config
<?xml
version="1.0"
encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add
connectionString="Data Source=xy-pc;Initial Catalog=MyItcast;Integrated Security=True"
name="strCon" />
</connectionStrings>
</configuration>
[4]
public
class
SQLHelper
{
private
static
readonly
string str = ConfigurationManager.ConnectionStrings["strCon"].ConnectionString;
///
<summary>
///
增删改方法
///
</summary>
///
<param name="sql">传sql语句</param>
///
<param name="param">如果sql语句带参数,则传参数,如果没有参数则不用传</param>
///
<returns></returns>
public
static
int ExeCuteNonQuery(string sql,params
SqlParameter[] param)
{
using (SqlConnection con=new
SqlConnection(str))
{
using (SqlCommand cmd=new
SqlCommand(sql,con))
{
con.Open();
if (param!=null)
{
cmd.Parameters.AddRange(param);//把用户传过来的参数给cmdparameters了
}
return cmd.ExecuteNonQuery();//完事
}
}
}
public
static
object ExecuteScalar(string sql,params
SqlParameter[]param)
{
using (SqlConnection con=new
SqlConnection(str))
{
using (SqlCommand cmd=new
SqlCommand(sql,con))
{
con.Open();
if (param!=null)
{
cmd.Parameters.AddRange(param);
}
return cmd.ExecuteScalar();
}
}
}
public
static
SqlDataReader ExecuteReader(string sql,params
SqlParameter[]param)
{
SqlConnection con = new
SqlConnection(str);
using (SqlCommand cmd=new
SqlCommand(sql,con))
{
if (param != null)
{
cmd.Parameters.AddRange(param);
}
try
{
con.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch(Exception ex)
{
con.Close();
con.Dispose();
throw ex;//有可能会出现异常,但是不确定异常是什么
}
}
}
}
}
[5]sql参数
string sql = "insert into tblstudent(tsname,tsgender,tsage,tclassid)values(@name,@gender,@age,@classid)";
SqlParameter[] param =
{
new
SqlParameter("@name",name),
new
SqlParameter("@gender",gender),
new
SqlParameter("@age",age),
new
SqlParameter("@classid",classid)
};
20131209-数据库导入导出数据-sqlhelper-第十七天的更多相关文章
- mongo数据库导入导出数据
一.Mongodb导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指定导出的数据项,也可以根 ...
- oracle数据库导入导出数据
导出命令 exp username/password@192.168.x.xx/orcl file='D:\20170126.dmp' log='D:\20170126.log' 导入命令 imp u ...
- oracle中导入导出数据备份数据库
原文:oracle中导入导出数据备份数据库 数据库所在位置 将数据导出到的文件名 用户名 备份数据库 :exp c ...
- linux mysql 数据库操作导入导出 数据表导出导入
linux mysql 数据库操作导入导出 数据表导出导入 1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库 ...
- Android开发笔记:SQLite导入导出数据
SQLite是Android中最方便使用的数据库了,现在看下如何快速的在SQLite中导入导出数据. 首先由于是.NET项目转Android,原有数据库使用的是SQLSERVER,由于项目相同部分结构 ...
- MYSQL数据库导入导出(可以跨平台)
MYSQL数据库导入导出.sql文件 转载地址:http://www.cnblogs.com/cnkenny/archive/2009/04/22/1441297.html 本人总结:直接复制数据库, ...
- Oracle数据库——常用命令(用户管理、数据库导入导出)
--==cmd控制台==-- --==日常用户管理SQL==-- --连接到SQLPLUS >sqlplus /nolog --以dba身份连接 sql>conn / as sysdba ...
- oracle数据库导入导出命令!(转)
oracle数据库导入导出命令! Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成 ...
- [转]mysql导入导出数据中文乱码解决方法小结
本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...
- PLSQL导入/导出数据方法
PLSQL导入/导出数据方法 PLSQL导入/导出数据方法 以前导数据库信息的时候,总是会先开启sql窗口,把自己手写的建表文件复制进去,然后再导入数据信息. 今天突然懒得去找以前的建表文件,而想用S ...
随机推荐
- Win8 Metro(C#)数字图像处理--2.62图像对数增强
原文:Win8 Metro(C#)数字图像处理--2.62图像对数增强 [函数名称] 对数增强 WriteableBitmap LogenhanceProcess(Writeabl ...
- Windows 10开发基础——VS2015 Update1新建UWP项目,XAML设计器无法加载的解决
这次,我们来解决一个问题...在使用Visual Studio 2015 Update 1的时候,新建一个UWP的项目,XAML设计器就会崩,具体异常信息如下图: 解决方法如下:下面圈出的那个路径就按 ...
- SignalR---DOTNET客户端
原文:SignalR---DOTNET客户端 这里面有用到异步的相关知识,本人前几篇文章也简单的提到. SignalR客户端要寄宿在.NET的客户端,必须安装Microsoft.AspNet.Sign ...
- Oracle序列使用:建立、删除、使用
Oracle序列使用:建立.删除 在开始讲解Oracle序列使用方法之前,先加一点关于Oracle client sqlplus的使用,就是如果执行多行语句的话一定要加“/”才能表示结束,并执行!本篇 ...
- 求 1-2+3-4+5-6+7-8....M 的结果算法
static void Main(string[] args) { /** * 算法题: * 求 1-2+3-4+5-6+7-8....M 的结果. * */ //存储运算结果. ; //记号. ; ...
- 网络软件,BA File,Disk,Photo,BackupTools等等(Mac版)
Auto FTP Manager 6.01Crossworld CrossFTP Enterprise v1.97.7 http://www.airexplorer.net/en/index.phpC ...
- Google C++测试框架系列入门篇:第一章 介绍:为什么使用GTest?
原始链接:Introduction: Why Google C++ Testing Framework? 词汇表 版本号:v_0.1 介绍:为什么使用GTest? GTest帮助你写更好的C++测试代 ...
- 使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap
1.环境搭建 安装Arcgis Portal 10.4,Server 10.4,DataStore ,WebAdaptor for IIS,搭建arcgis api for javascript 4. ...
- ssh证书登录
前言 本文基于实际Linux管理工作,实例讲解工作中使用ssh证书登录的实际流程,讲解ssh证书登录的配置原理,基于配置原理,解决实际工作中,windows下使用SecureCRT证书登录的各种问题, ...
- C#制作浮动图标窗体
先看效果: 这个小图标可以进行随意拖拽,点击还可以产生事件 随便演示一下,效果就是这样的. 下面直接演示如何制作: 新建一个窗体,设置窗体的FormBorderStyle为None(去掉窗体边框): ...