ADO.NET学习系列(二)
这次我使用ADO.NET来插入一条数据,到数据库中。主用到存储过程。我不想每次都是用SQL文本的形式了,那样始终没有进步~~~
下面首先,我把我这次练习要用到的数据库脚本,贴出来:
USE master --使用系统数据库
GO
IF EXISTS(SELECT * FROM sysdatabases WHERE name=N'DB_MyStudentLife')
DROP DATABASE [DB_MyStudentLife]; --如果要创建的数据库存在的话,就删除
GO
CREATE DATABASE [DB_MyStudentLife] --创建数据库
GO
USE [DB_MyStudentLife] --使用数据库
GO
IF EXISTS(SELECT * FROM sysobjects WHERE name=N'MyClass')
DROP TABLE [MyClass] --如果要创建的数据表存在的话,就删除(注意sysobjects,一定要全部是小写的,不然有错误,不能写成大写的。)
GO
CREATE TABLE MyClass --创建数据表
(
C_ID INT NOT NULL PRIMARY KEY, --班级编号
C_Name NVARCHAR() not null, --班级名称
C_Descr nvarchar(max) not null --班级简介
);
GO
IF EXISTS(SELECT * FROM sysobjects WHERE name=N'MyStudent')
DROP TABLE MyStudent
GO
CREATE TABLE MyStudent
(
S_ID int not null primary key, --学号
S_Name nvarchar() not null, --姓名
S_Gender ) not null, --性别
S_Address nvarchar(max) not null , --地址
S_Phone nvarchar()not null, --电话
S_Age int not null, --年龄
S_Birthday datetime not null, --生日
S_CardID int not null, --身份证号码
S_CID int not null references MyClass(C_ID) --班级编号
);
创建数据库,创建数据表语句
接着大家选中刚才执行脚本,创建好的数据库,然后使用我下面的数据,向数据库表里面添加数据吧
insert into MyClass(C_ID,C_Name,C_Descr)values(,'软件1108班','武汉软件工程职业学院'); insert into MyClass(C_ID,C_Name,C_Descr)values(,'软件1107班','武汉软件工程职业学院'); insert into MyClass(C_ID,C_Name,C_Descr)values(,'实验班','武汉软件工程职业学院'); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values(); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values();
插入数据到数据库表中
说明一下,等会我要向MyClass表中插入数据,现在为这个表创建一个插入的存储过程:
IF OBJECT_ID('Ins_ClasseD','P') IS NOT NULL
DROP PROCEDURE Ins_ClasseD
GO
CREATE PROCEDURE Ins_ClasseD
@C_ID int ,
@C_Name nvarchar() ,
@C_Descr nvarchar(max)
AS
INSERT INTO dbo.MyClass
( C_ID, C_Name, C_Descr )
VALUES ( @C_ID, -- C_ID - int
@C_Name, -- C_Name - nvarchar()
@C_Descr -- C_Descr - nvarchar(max)
);
GO
给MyClass表存储过程
下面开始程序实现:
我是复习,ADO.NET,现在就随便建了一个控制台的应用程序,来开始我的测试:
注意;在下面的例子中,为了尽可能简单易于理解,我没有把连接字符串的那部分代码,放到配置文件中。
如果要放的话,要用到System.Configuration命名空间,还有一个ConfigurationManager类..具体的细节就不说了。
请看具体实现代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace ADO.NET插入一条数据到数据库中
{
class Program
{
//连接字符串
private static string sqlCon = "server=.;database=DB_MyStudentLife;uid=sa;pwd=Password_1";
static void Main(string[] args)
{
//1创建连接对象(连接字符串)
SqlConnection scon = new SqlConnection(sqlCon);
//2创建命令对象(为命令对象设置属性)
SqlCommand scmd = new SqlCommand();
scmd.CommandText = "Ins_ClasseD";
scmd.CommandType = CommandType.StoredProcedure; //这里我使用存储过程来插入数据
scmd.Connection = scon;
//3打开数据库连接
scon.Open();
//设置参数
scmd.Parameters.Add());
scmd.Parameters.Add(new SqlParameter("@C_Name", "测试班"));
scmd.Parameters.Add(new SqlParameter("@C_Descr", "软件测试技术"));
//4发送命令
int result= scmd.ExecuteNonQuery();
//5处理数据
)
{
Console.WriteLine("插入数据成功");
}
else
{
Console.WriteLine("插入数据失败");
} //6最后一步,差点忘记了,一定要关闭连接 scon.Close();
Console.ReadKey();
}
}
}
程序执行玩之后的效果图:

ADO.NET学习系列(二)的更多相关文章
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
- Maven学习系列二(1-5)
Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/47 ...
- scrapy爬虫学习系列二:scrapy简单爬虫样例学习
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- DocX开源WORD操作组件的学习系列二
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参
[转]ASP.NET MVC学习系列(二)-WebAPI请求 传参 本文转自:http://www.cnblogs.com/babycool/p/3922738.html ASP.NET MVC学习系 ...
- RabbitMQ学习系列二-C#代码发送消息
RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列 http://www.80iter.com/blog/1437455520862503 上一篇已经讲了Rabbi ...
- .net reactor 学习系列(二)---.net reactor界面各功能说明
原文:.net reactor 学习系列(二)---.net reactor界面各功能说明 安装了.net reactor之后,可以在安装目录下找到帮助文档REACTOR_HELP.c ...
- 图机器学习(GML)&图神经网络(GNN)原理和代码实现(前置学习系列二)
项目链接:https://aistudio.baidu.com/aistudio/projectdetail/4990947?contributionType=1 欢迎fork欢迎三连!文章篇幅有限, ...
- ASP.NET MVC学习系列(二)-WebAPI请求
继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现 ...
- ASP.NET MVC学习系列(二)-WebAPI请求(转)
转自:http://www.cnblogs.com/babycool/p/3922738.html 继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的g ...
随机推荐
- Android 设置VPN(pptp连接方式)
本教程以小米手机的MIUI系统为例子,教大家如何设置VPN 先找到“设置”,打开设置菜单,如下图: 在设置菜单里面找“其它连接方式” 然后找到“VPN”,点击进入: 进入VPN设置界面后,如果VPN未 ...
- 使用jQuery开发一个响应式超酷整合RSS信息阅读杂志
在线演示1 本地下载 申请达人,去除赞助商链接 如果大家喜欢阅读博客文章的话,可能都会使用RSS阅读器,今天这里我们将使用jQuery来开发一个响应式的RSS信息阅读应用,使用它你可以将你喜欢 ...
- Swift编程语言SequenceType协议中的一些比较有用的接口
在Swift编程语言中,大部分容器类(比如Array.Dictionary)都实现了SequenceType协议.SequenceType协议中有不少有趣且简便的方法可用来实现我们不少实际需求.这里将 ...
- AndroidStudio小技巧--依赖库
同步发表于http://avenwu.net/2015/02/12/androidstudio_library_dependency Fork on github https://github.com ...
- wpf xaml inlines
string testBold = "<Bold>Sync Now</Bold>"; var ele = System.Windows. ...
- struts2:JSP页面及Action中获取HTTP参数(parameter)的几种方式
本文演示了JSP中获取HTTP参数的几种方式,还有action中获取HTTP参数的几种方式. 1. 创建JSP页面(testParam.jsp) <%@ page language=" ...
- pecl install imagick
steven@server:/var/www$ sudo pecl install imagickdownloading imagick-2.3.0.tgz ...Starting to downlo ...
- 【Cocos2d-Js基础教学(7)界面UI更新方法(会用到第三方类库)】
我们游戏中会遇到很多UI更新的时候,大部分时候我们会remove该节点,再重新绘制的方法来进行UI更新. 但是这种更新效率并不高,这里我推荐大家一个第三方的库,来通过注册更新的方式来对UI进行更新管理 ...
- 不同iOS版本做代码适配__IPHONE_OS_VERSION_MAX_ALLOWED 和 __IPHONE_8_0等专业术语
目前开发只想最低版本支持iOS8了,iOS8以前的就不管了,然后现在iOS9和iOS10出来以后,有些新的API,也有些弃用的API,为了兼容,有时候代码里面需要编写判断不同iOS版本,或者只允许指定 ...
- SQL Server 连接问题圣经-命名管道
SQL Server 连接问题圣经-命名管道 (1) APGC DSD Team 12 Jan 2011 1:24 AM 3 一.前言 在使用SQL Server 的过程中,用户遇到的最多的莫过于连接 ...