返回首页

大家好,我要一个程序,在那里我可以编辑用户,删除用户,搜索用户,创建用户,但我不知道如何使编辑和搜索代码......这是我有这么远......

//create user

 private void button3_Click(object sender, EventArgs e)

 {

     if (!string.IsNullOrWhiteSpace(textBox4.Text))

     {

         Datahandler.dbOpen();

 



         string query = "SELECT * FROM Usertable WHERE (name = '" + textBox4.Text + "')";

         SqlDataReader reader = Datahandler.SqlReader(query);

 

         if (!reader.Read())

         {

             var md5 = new MD5CryptoServiceProvider();

             byte[] origninalBytes = ASCIIEncoding.Default.GetBytes("Lav Mig Om!!");

             byte[] md5bytes = md5.ComputeHash(origninalBytes);

             string md5string = BitConverter.ToString(md5bytes).Replace("-", "");

 

             reader.Close();

             Datahandler.query("INSERT INTO usertable (name, password) Values ('" + textBox4.Text + "', '" + md5string + "')");

             MessageBox.Show("Bruger Oprettet");

         }

         else

         {

             MessageBox.Show("Brugerern eksisterer allerede!");

             reader.Close();

         }

         Datahandler.dbClose();

         textBox4.Clear();

     }

     else

         MessageBox.Show("Skriv noget i tekstboksen, \nf酶r du pr酶ver at lave en bruger.");

 }

 

 //delete user

 private void button4_Click(object sender, EventArgs e)

 {

     if (!string.IsNullOrWhiteSpace(textBox4.Text))

     {

         Datahandler.dbOpen();

 

         string query = "DELETE Usertable WHERE (name = '" + textBox4.Text + "')";

         Datahandler.query(query);

         Datahandler.dbClose();

     }

     else

         MessageBox.Show("Indtast et navn f酶r du \npr酶ver p氓 at slette en bruger");

 }

回答

评论会员:游客 时间:2012/02/07
OriginalGriff:第一件事首先两个转变,我强烈reccommend您:1)停止使用VS默认名称为cointrols-你让你的生活了很多困难。当然,你还记得今天textBox4是用户名,和Button4的是删除用户,但你会记得,下周呢?更改控件的名称,事件处理程序的名称改变的东西,告诉你他们做了什么:{C}2)不要连接字符串建立一个SQL命令。离开你敞开意外或蓄意的SQL注入攻击可以摧毁你的整个数据库。使用参数化查询。然后,编辑是简单的事情了使用imgsrc=]虽然
Jitendra Parida1987:您好,

定义你的表的主键列。虽然这种独特的价值编辑,更新和搜索记录。

刚才我给你一个例子:

创建表测试使用TestDB数据库。

USE [TESTDB]

GO

/****** Object:  Table [dbo].[test]    Script Date: 12/07/2011 13:43:47 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[test](

	[slno] [int] NOT NULL,

	[name] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

	[password] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

 CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED 

(

	[slno] 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 

这里slno是独一无二的,只是我写SQL更新数据库
{体C3}如果你了解这个例子,您实现轻松编辑和搜索。
使编辑用户只能从创建用户代码的更新查询:吴拉姆・迈赫迪
评论会员:游客 时间:2012/02/07
嗨,试试这一个codeprelang="c#"/pre/code字符串路径=Server.MapPath("〜/UploadFiles/"upload_text.txt");