1,实体类
创建一个实体类,包含id,username,password。至于数据库,不再展示怎么创建,本文章使用的Oracle数据库。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace gqb
{
public class User
{
public int id { get; set; }
public string username { get; set; }
public string password { get; set; }
public User()
{
}
public User(string username, string password)
{
this.username = username;
this.password = password;
}
}
}
2,创建一个工具类
创建一个工具类,包括三个方法,获取连接,添加用户,查询用户,真正开发不会把这些方法放在同一个类中,不要被误导了。对于新手来说,可能会出现的问题,找不到OracleConnection类等等,那是因为没有添加Oracle的引用,需要从外部导入Oracle的引用,这个引用的话网上自己找一找就好了。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Oracle.ManagedDataAccess.Client;
namespace gqb
{
public class Usertools
{
//连接字符串
static string connectionString;
//sql语句
static string sql;
//获取连接的方法
public OracleConnection getConnection()
{
connectionString = "Data Source=127.0.0.1/orcl;User ID=gqb;PassWord=1;";
//通过连接字符串,创建数据库连接,并打开连接
OracleConnection conn = new OracleConnection(connectionString);
conn.Open();
return conn;
}
//添加用户的方法
public int addUsers(User user)
{
sql = "insert into tbl_user values(1,'" + user.username + "','" + user.password + "')";
OracleConnection conn = getConnection();
OracleCommand ocm = new OracleCommand(sql, conn);
int result = ocm.ExecuteNonQuery();
conn.Close();
return result;
}
//查询用户的方法
public User queryUser(String username)
{
User user = new User();
sql = "SELECT * from tbl_user where username = '" + username + "'";
OracleConnection conn = getConnection();
OracleCommand myORACCommand = conn.CreateCommand();
myORACCommand.CommandText = sql;
OracleDataReader mydatareader = myORACCommand.ExecuteReader();
while (mydatareader.Read())
{
//读取数据并封装成对象
//将object转为int类型不能使用user.username = (int)mydatareader[0];
user.id = int.Parse(mydatareader[0].ToString());
user.username = (string)mydatareader[1];
user.password = (string)mydatareader[2];
}
mydatareader.Close();
conn.Close();
return user;
}
}
}
3,在main方法中测试
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using gqb;
namespace 控制台测试程序
{
class Program
{
static void Main(string[] args)
{
Usertools usertool = new Usertools();
//创建一个用户并添加
User u1 = new User("gqb","123");
usertool.addUsers(u1);
//查询用户
User u = usertool.queryUser("gqb");
}
}
}
需要说明的是,我这里mian方法和工具类这些不再同一个命名空间,加入了引用,在查询用户之后,如果想要看到查询的数据可以这么做。
static void Main(string[] args)
{
Usertools usertool = new Usertools();
//创建一个用户并添加
User u1 = new User("gqb","123");
usertool.addUsers(u1);
//查询用户
User u = usertool.queryUser("gqb");
Console.WriteLine(u.username);
Console.ReadLine();
}