怎么通过C#程序控制数据的读取并写入数据库

 我来答
姣过手飘找人1Q
2018-06-12 · TA获得超过1904个赞
知道大有可为答主
回答量:2466
采纳率:70%
帮助的人:360万
展开全部
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Net;

namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

//获取本机IP,然后存储在strAddr中
public string getLocalIP()
{
string strHostName = Dns.GetHostName(); //得到本机的主机名
IPHostEntry ipEntry = Dns.GetHostEntry(strHostName); //取得本机IP
string strAddr = ipEntry.AddressList[0].ToString();
return (strAddr);
}

private void button1_Click(object sender, EventArgs e)
{
string username;
string password;
string LocalIP;
string DBIP1 = "";

LocalIP = getLocalIP();
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\")
|| dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}

//定义用户名和密码变量
username = textBox1.Text;
password = textBox2.Text;

//使用创建数据库连接
using (SqlConnection conn = new SqlConnection(@"Data Source=数据库;Initial Catalog=xxx;User ID=数据库用户名;Password=密码"))
{
conn.Open();//打开数据库

//获取数据库中当前登录名的IP字段,存储与DBIP1中
using (SqlCommand getDBIP = conn.CreateCommand())
{
getDBIP.CommandText = "select * from LoginDetail where UID='" + username + "'";
using (SqlDataReader DBIP = getDBIP.ExecuteReader())
if (DBIP.Read())
{
DBIP1 = DBIP.GetString(DBIP.GetOrdinal("IPaddr"));
}
}
using (SqlCommand cmd = conn.CreateCommand())
{
//查询命令为:查询UserName等于输入的用户名
cmd.CommandText = "select * from LoginDetail where UID='" + username + "'";
//将查询到的数据保存在reader这个变量里
using (SqlDataReader reader = cmd.ExecuteReader())
{
//如果reader.Read()的结果不为空, 则说明输入的用户名存在
if (reader.Read())
{
/*从数据库里查询出和用户相对应的PassWorld的值
*reader.GetOrdinal("PassWord")的作用是得到PassWord的为这行数据中的第几列,返回回值是int
*reader.GetString()的作用是得到第几列的值,返回类型为String.
*/
string dbpassword = reader.GetString(reader.GetOrdinal("PWD"));
//比较用户输入的密码与从数据库中查询到的密码是否一至,如果一至,就登录成功
if (password == dbpassword)
{
if (DBIP1 == "")//如果数据库中当前登录的ID有记录IP地址,则拒绝登录
{
Form1 form1 = new Form1();
两建什5103
2018-06-12 · 超过17用户采纳过TA的回答
知道答主
回答量:50
采纳率:33%
帮助的人:5.1万
展开全部
是直接做成windows service那种,不需要界面form
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式