ado.net基础代码

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("执行完成~!");
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值