您的位置:首页 > 编程语言

ado.net基础代码

2014-05-14 22:21 351 查看
sqlserver2008数据库脚本:

USE [DemoDB]
GO
/****** Object: Table [dbo].[T_Student] Script Date: 05/14/2014 22:19:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[T_Student](
[id] [int] NOT NULL,
[name] [varchar](50) NOT NULL,
[age] [char](10) NOT NULL,
[aihao] [varchar](50) NULL,
[height] [char](20) NOT NULL,
[addId] [int] IDENTITY(1,1) NOT NULL,
PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO

WPF中C#代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Data.SqlClient;

namespace WPFDemo01
{
/// <summary>
/// ADOBasic.xaml 的交互逻辑
/// </summary>
public partial class ADOBasic : Window
{
public ADOBasic()
{
InitializeComponent();
}

private void btnLink_Click(object sender, RoutedEventArgs e)
{
//对实现了IDisposible接口的,使用using关键字,它能控制对资源的释放,具体的自行百度。语法是
//using(类型d = new (这里面指的是创建对象)......){.................}他可以自动回收资源,不用自己关闭数据库
//以后都这么写,conn.close();的方法前面程序挂掉了,那么数据库就没有关,这样时间久了会造成数据库泄露

//SqlConnection建立和数据库的连接

//1.第一种,ExecuteNonQuery()通常用来执行Update,Delete,Insert语句,就如单词所示NonQuery,非查询!
//using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=DemoDB;User ID=sa;Password=540469505"))
//{
// conn.Open();
// MessageBox.Show("数据库连接成功!");
// //通过连接创建一个向数据库发命令(command)的对象
// using(SqlCommand cmd = conn.CreateCommand())
// {
// //CommandText为要执行的sql语句
// cmd.CommandText = "insert into T_Student(id,name,age,aihao,height) values (101,'刘亦菲',23,'北京吧',170);";
// cmd.ExecuteNonQuery(); //开始执行
// }
//}

//2.第二种,查询用
using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=DemoDB;User ID=sa;Password=540469505"))
{
conn.Open();
using(SqlCommand cmd = conn.CreateCommand())
{
//例1:
//cmd.CommandText="select count(*) from T_Student";
//ExecuteScalar()返回的是一行一列的值使用该类型,意思就是查询的结果只有一个,
//因为其返回的是object类型,所以根据我们返回的实际类型可以进行强制类型转换,
//这里一定要写对对应类型,比如数据库中的varchar类型对应C#中的是string,
//bigint类型对应的是long类型
//int i =(int)cmd.ExecuteScalar();
//MessageBox.Show("查询到结果数为:"+i+"条");

//例2:
//cmd.CommandText = "select 'dafa'";
//string s = (string)cmd.ExecuteScalar();
//MessageBox.Show(s);

//例3:
//本数据库中自增长字段为addId,其值是数据库自动分配的,
//那么我们如何得知本数据的addId是多少呢?
cmd.CommandText = "insert into T_Student(id,name,age,aihao,height) output inserted.addId values (10000,'离死',102,'',80)";
int i = (int)cmd.ExecuteScalar();
MessageBox.Show("当前addId为:"+i);
}
}

MessageBox.Show("执行完成~!");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# ado.net