---------------<a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流!-------------

1 在项目中添加数据库,当要打包项目给别人的时候,需要断开数据库的连接

2  连接SQLserver:连接到那台服务器上,那个实例那个数据库,用户名和密码

“Data Data Source=ZHANGLIANG\SQLEXPRESS;Initial Catalog=MyDB;Integrated Security=True”

连接数据库语句:SqlConnection需要using

stringconStr=@"Data Source=ZHANGLIANG\SQLEXPRESS;Initial Catalog=MyDB;Integrated Security=True";

            using(SqlConnectionconn=newSqlConnection(conStr)){

            if (conn!=null)

            {

                conn.Open();

                Console.WriteLine("Success!");               

            }}

3 插入操作:
           using( SqlConnection conn = new SqlConnection(conStr) ){

if (conn != null)

{

conn.Open();

Console.WriteLine("连接 Success!");

using (SqlCommand cmd = conn.CreateCommand())

{

cmd.CommandText = "insert into Person(name,age)values('yy',29) ";

cmd.ExecuteNonQuery();

Console.WriteLine("插入成功!");

}

}

}

4 登录练习:
           /// <summary>

/// 登录方法

/// </summary>

static void LoginMethod(string conStr) {

Console.WriteLine("输入用户名:");

string name = Console.ReadLine();

Console.WriteLine("输入密码:");

string pwd = Console.ReadLine();

using (SqlConnection conn = new SqlConnection(conStr))

{

conn.Open();

using (SqlCommand cmd=conn.CreateCommand())

{

cmd.CommandText = "select * from T_user where name='"+name+"'";

using (SqlDataReader reader=cmd.ExecuteReader())

{

if (reader.Read())//有该用户

{

if (reader.GetString(reader.GetOrdinal("password"))==pwd.Trim())//密码一致

{

Console.WriteLine("登录成功!");

}

else

{

Console.WriteLine("登录失败!");

}

}

else

{

Console.WriteLine("用户不存在!");

}

}

}

}

5        用户界面插入数据

/// <summary>

/// 插入新用户信息

/// </summary>

/// <param name="conStr"></param>

static void InsertUserInfo(string conStr) {

Console.WriteLine("输入要插入的用户名:");

string name = Console.ReadLine();

Console.WriteLine("输入密码:");

string pwd = Console.ReadLine();

using (SqlConnection conn = new SqlConnection(conStr))

{

conn.Open();

using (SqlCommand cmd=conn.CreateCommand())

{

// cmd.CommandText = "insert into T_user(name,password)values('" + name + "','" + pwd + "')";

cmd.CommandText = string.Format("insert into T_user(name,password)values('{0}','{1}')",name,pwd);

cmd.ExecuteNonQuery();

Console.WriteLine("新用户信息插入成功!");

}

}

}

6        ExecuteScalar返回第一行和第一列的结果 :cmd.CommandText=“select cout(*) from T_user”;  cmd.ExecuteScalar();

7 获取插入数据的id值:
                    cmd.CommandText=string.Format("insert into T_user(name,password) output inserted.id values('{0}','{1}')",name,pwd);                                     Console.WriteLine(cmd.ExecuteScalar());//返回插入时的id

8   close()与dispose()的区别: close() 后可以在Open,而dispose()后不能在open()

9  防注入漏洞攻击

/// <summary>

/// 防注册漏洞攻击

/// </summary>

/// <param name="conStr"></param>

static void CheckUserProtected(string conStr)

{

string name, pwd;

Console.WriteLine("Name:");

name = Console.ReadLine();

Console.WriteLine("Password:");

pwd = Console.ReadLine();

using(SqlConnection conn=new SqlConnection(conStr)){

conn.Open();

using (SqlCommand cmd=conn.CreateCommand())

{

cmd.CommandText = "select * from T_user where name=@Name and password=@Password";

cmd.Parameters.Add("@Name",name);

cmd.Parameters.Add("@Password",pwd);

if (Convert.ToInt32(cmd.ExecuteScalar())>0)

{

Console.WriteLine("登录成功!");

}

else

{

Console.WriteLine("登录失败!");

}

}

}

}

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>

黑马程序员+ADO.Net基础(上)的更多相关文章

  1. 黑马程序员+ADO.Net基础(下)

    ---------------<a href="http://edu.csdn.net"target="blank">ASP.Net+Android ...

  2. 黑马程序员+ADO.Net基础(中)

    ---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net ...

  3. 黑马程序员:Java基础总结----泛型(高级)

    黑马程序员:Java基础总结 泛型(高级)   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 泛型(高级) 泛型是提供给javac编译器使用的,可以限定集合中的输入类型 ...

  4. 黑马程序员:Java基础总结----类加载器

    黑马程序员:Java基础总结 类加载器   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 类加载器 Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个 ...

  5. 黑马程序员:Java基础总结----静态代理模式&动态代理

    黑马程序员:Java基础总结 静态代理模式&动态代理   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public  class  Ts {   ...

  6. 黑马程序员:Java基础总结----枚举

    黑马程序员:Java基础总结 枚举   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 枚举 为什么要有枚举 问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别 ...

  7. 黑马程序员:Java基础总结----反射

    黑马程序员:Java基础总结 反射   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 反射 反射的基石:Class类 Class类代表Java类,它的各个实例对象又分别 ...

  8. 黑马程序员:Java基础总结----JavaBean 内省

    黑马程序员:Java基础总结 JavaBean 内省   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! JavaBean  内省 软件包 java.beans 包含与开 ...

  9. 黑马程序员:Java基础总结----java注解

    黑马程序员:Java基础总结 java注解   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! java注解 lang包中的基本注解 @SuppressWarnings ...

随机推荐

  1. 【经验】Maven Tomcat8+ 实现自动化部署

    1.配置tomcat-users.xml 首先在Tomcat里配置deploy的用户(tomcat根目录/conf/tomcat-users.xml): <role rolename=" ...

  2. Android学习---SQLite数据库的增删改查和事务(transaction)调用

    上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代 ...

  3. 【如何快速的开发一个完整的iOS直播app】(美颜篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,美颜功能是很重 ...

  4. chartjs执行图表

    <html> <head> <title></title> </head> <body> <div style='widt ...

  5. CentOS 6.5升级Python和安装IPython

    <转自:http://www.noanylove.com/2014/10/centos-6-5-sheng-ji-python-he-an-zhuang-ipython/>自己常用.以做备 ...

  6. WNDR3700V4恢复原厂固件(使用TFTP刷网件原厂固件)

    WNDR3700v4原厂固件下载地址: http://support.netgear.cn/doucument/More.asp?id=2203 操作方法: 1.将设备断电: 2.按住设备背面的Res ...

  7. Oracle 服务器端执行带参数的procedure

    进入服务器后 su - oracle sqlplus schema/schemapass 连接上以后,输入以下,然后执行 declare vRet number(5) := 8; begin proc ...

  8. 如何查看SharePoint未知错误的详细信息

    在sharepoint 开发的时候,需要查看具体的sharepoint报错信息需要在配置文件中配置如下 通过下面方法就可以直接在出错页面查看错误信息.修改Web应用程序根目录上的Web.config文 ...

  9. Surfer 软件做等值线图

    使用surfer软件做等值线图 Surfer软件美国Golden Software公司编制的一款以画三维图(等高线,image map,3d surface)的软件. Surfer具有的强大插值功能和 ...

  10. sqlserver2012 表分区

    无论是新建数据库,还是现有的问题,都可以执行表分区的操作. 1.在数据库中点鼠标右键点击属性,在选择页,选中文件栏,在数据库文件列表中,可以看到现有的数据库文件逻辑名称.文件类型.初始大小.保存位置等 ...