调试的一段和数据库有关的小程序
来源:互联网 发布:佳能单反修图软件 编辑:程序博客网 时间:2024/06/09 23:58
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb; //这个地方和程序代码中不一样,主要是我用的是ACCESS
using System.Drawing;
using System.Text;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace FriendsReunion.Secure
{
/// <summary>
/// NewUser 的摘要说明。
/// </summary>
public class NewUser : FriendsBase
{
protected System.Web.UI.WebControls.Button btnAccept;
protected System.Web.UI.WebControls.TextBox txtLogin;
protected System.Web.UI.WebControls.TextBox txtPassword;
protected System.Web.UI.WebControls.TextBox txtFName;
protected System.Web.UI.WebControls.TextBox txtLName;
protected System.Web.UI.WebControls.TextBox txtAddress;
protected System.Web.UI.WebControls.TextBox txtPhone;
protected System.Web.UI.WebControls.TextBox txtMobile;
protected System.Web.UI.WebControls.TextBox txtEmail;
protected System.Web.UI.WebControls.RequiredFieldValidator reqLogin;
protected System.Web.UI.WebControls.RequiredFieldValidator reqPassword;
protected System.Web.UI.WebControls.RequiredFieldValidator reqFName;
protected System.Web.UI.WebControls.RequiredFieldValidator ReqLName;
protected System.Web.UI.WebControls.RequiredFieldValidator reqAddress;
protected System.Web.UI.WebControls.RequiredFieldValidator reqEmail;
protected System.Web.UI.WebControls.CompareValidator compBirth;
protected System.Web.UI.WebControls.RegularExpressionValidator regPhone;
protected System.Web.UI.WebControls.RegularExpressionValidator regEmail;
protected System.Web.UI.WebControls.Label lblMessage;
protected System.Web.UI.WebControls.ValidationSummary valErrors;
protected System.Web.UI.WebControls.TextBox txtBirth;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
base.HeaderIconImageUrl =
Request.ApplicationPath + "/Images/securekeys.gif";
base.HeaderMessage = "Registration Form";
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnAccept.Click += new System.EventHandler(this.btnAccept_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnAccept_Click(object sender, System.EventArgs e)
{
if(Page.IsValid)//验证都处于有效状态
{
OleDbConnection con;
string sql;
OleDbCommand cmd;
StringBuilder sb = new StringBuilder();
ArrayList values = new ArrayList();
sb.Append("INSERT INTO User");
sb.Append("(UserID,Login,[Password],FirstName,LastName,");
sb.Append("PhoneNumber,Email,IsAdministrator,Address,");
sb.Append("CellNumber,DateOfBirth)");
sb.Append(
"VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}',");
sb.Append("{8},{9},{10})");
values.Add(Guid.NewGuid().ToString());//独一无二
values.Add(txtLogin.Text);
values.Add(txtPassword.Text);
values.Add(txtFName.Text);
values.Add(txtLName.Text);
values.Add(txtPhone.Text);
values.Add(txtEmail.Text);
values.Add(0);
if(txtAddress.Text != string.Empty)
{
values.Add("" + txtAddress.Text + "");
}
else
{
values.Add("Null");
}
if(txtMobile.Text != string.Empty)
{
values.Add("" + txtMobile.Text + "");
}
else
{
values.Add("Null");
}
if(txtBirth.Text != string.Empty)
{
values.Add("" + txtBirth.Text + "");
}
else
{
values.Add("Null");
}
sql = String.Format(sb.ToString(),values.ToArray());
string dbname = Server.MapPath("Friends.mdb");
//execute the query
con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + dbname);
//C:/Documents and Settings/chang/My Documents/Visual Studio Projects/FriendsReunion/Friends.mdb");
//sql = "Insert INTO User(Login,Address) Values('Simson','usa')";
cmd = new OleDbCommand(sql,con);
con.Open();
bool doredirect = true;
try
{
cmd.ExecuteNonQuery();
}
catch
{
//Console.WriteLine("Error:{0}",ie.Errors[0].Message);
doredirect = false;
this.lblMessage.Visible = true;
//this.lblMessage.ForeColor = red;
this.lblMessage.Text =
"Insert couldn't be performed.User name maybe already taken!";
}
finally
{
con.Close();
}
if(doredirect)
Response.Redirect("Login.aspx");
}
}
}
}
连接成功了。非常高兴。
数据写不进去,主要是因为SQL语法写的不对。
学会使用VS.NET来查看自己的SQL语句,这个开发环境应该有这么强大的功能来做这个事情。
爽啊。
把新的程序放在这里。
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb; //这个地方和程序代码中不一样,主要是我用的是ACCESS
using System.Drawing;
using System.Text;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace FriendsReunion.Secure
{
/// <summary>
/// NewUser 的摘要说明。
/// </summary>
public class NewUser : FriendsBase
{
protected System.Web.UI.WebControls.Button btnAccept;
protected System.Web.UI.WebControls.TextBox txtLogin;
protected System.Web.UI.WebControls.TextBox txtPassword;
protected System.Web.UI.WebControls.TextBox txtFName;
protected System.Web.UI.WebControls.TextBox txtLName;
protected System.Web.UI.WebControls.TextBox txtAddress;
protected System.Web.UI.WebControls.TextBox txtPhone;
protected System.Web.UI.WebControls.TextBox txtMobile;
protected System.Web.UI.WebControls.TextBox txtEmail;
protected System.Web.UI.WebControls.RequiredFieldValidator reqLogin;
protected System.Web.UI.WebControls.RequiredFieldValidator reqPassword;
protected System.Web.UI.WebControls.RequiredFieldValidator reqFName;
protected System.Web.UI.WebControls.RequiredFieldValidator ReqLName;
protected System.Web.UI.WebControls.RequiredFieldValidator reqAddress;
protected System.Web.UI.WebControls.RequiredFieldValidator reqEmail;
protected System.Web.UI.WebControls.CompareValidator compBirth;
protected System.Web.UI.WebControls.RegularExpressionValidator regPhone;
protected System.Web.UI.WebControls.RegularExpressionValidator regEmail;
protected System.Web.UI.WebControls.Label lblMessage;
protected System.Web.UI.WebControls.ValidationSummary valErrors;
protected System.Web.UI.WebControls.TextBox txtBirth;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
base.HeaderIconImageUrl =
Request.ApplicationPath + "/Images/securekeys.gif";
base.HeaderMessage = "Registration Form";
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnAccept.Click += new System.EventHandler(this.btnAccept_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnAccept_Click(object sender, System.EventArgs e)
{
if(Page.IsValid)//验证都处于有效状态
{
OleDbConnection con;
string sql;
OleDbCommand cmd;
StringBuilder sb = new StringBuilder();
ArrayList values = new ArrayList();
sb.Append("INSERT INTO [User]");
sb.Append("(UserID,Login,[Password],FirstName,LastName,");
sb.Append("PhoneNumber,Email,IsAdministrator,Address,");
sb.Append("CellNumber,DateOfBirth)");
sb.Append(
"VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}',");
sb.Append("'{8}','{9}','{10}')");
values.Add(Guid.NewGuid().ToString());//独一无二
values.Add(txtLogin.Text);
values.Add(txtPassword.Text);
values.Add(txtFName.Text);
values.Add(txtLName.Text);
values.Add(txtPhone.Text);
values.Add(txtEmail.Text);
values.Add(0);
if(txtAddress.Text != string.Empty)
{
values.Add("" + txtAddress.Text + "");
}
else
{
values.Add("Null");
}
if(txtMobile.Text != string.Empty)
{
values.Add("" + txtMobile.Text + "");
}
else
{
values.Add("Null");
}
if(txtBirth.Text != string.Empty)
{
values.Add("" + txtBirth.Text + "");
}
else
{
values.Add("Null");
}
sql = String.Format(sb.ToString(),values.ToArray());
string dbname = Server.MapPath("Friends.mdb");
//execute the query
con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + dbname);
//C:/Documents and Settings/chang/My Documents/Visual Studio Projects/FriendsReunion/Friends.mdb");
//sql = "Insert INTO User(Login,Address) Values('Simson','usa')";
cmd = new OleDbCommand(sql,con);
con.Open();
bool doredirect = true;
try
{
cmd.ExecuteNonQuery();
}
catch
{
//Console.WriteLine("Error:{0}",ie.Errors[0].Message);
doredirect = false;
this.lblMessage.Visible = true;
//this.lblMessage.ForeColor = red;
this.lblMessage.Text =
"Insert couldn't be performed.User name maybe already taken!";
}
finally
{
con.Close();
}
if(doredirect)
Response.Redirect("Login.aspx");
}
}
}
}
INSERT INTO [User]
(UserID, Login, Password, FirstName, LastName, DateOfBirth, PhoneNumber,
CellNumber, Address, Email, IsAdministrator)
VALUES ('sdfadfadfa', 'chang chunhua', 'huliwuya', 'chang', 'chunhua', '1980/4/3',
'010-23456789', '13466709278', 'beijing', 'chang_chunhua@hotmail.com', '0')
This is the code. The Select works but the Insert doesn't.
I get this error
System.Data.OleDb.OleDbException: Syntax error in INSERT INTO statement.
public databaseConn()
{
String openCommand = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D://database//firstSpaceDB.mdb";
objConnect = new OleDbConnection(openCommand);
//
// TODO: Add constructor logic here
//
}
public void Open()
{
objConnect.Open();
}
public void close()
{
objConnect.Close();
}
public bool setNewUser(String name, String password)
{
Open();
String select = "SELECT * FROM users";
OleDbCommand objCommand = new OleDbCommand(select, objConnect);
//declare a variable to hold a DataReader object
OleDbDataReader objDataReader;
objDataReader = objCommand.ExecuteReader();
while(objDataReader.Read())
{
if(objDataReader.GetString(0).CompareTo(name) == 0)
{
objDataReader.Close();
close();
return false;
}
ErrorMessage += objDataReader.GetString(0);
}
objDataReader.Close();
string strInsert = "INSERT INTO users (userName, password) VALUES ('" + name
+ "', '" + password + "' ) ";
ErrorMessage += strInsert;
try
{
// create a new OleDbCommand using the connection object and select
statement
objCommand = new OleDbCommand(strInsert, objConnect);
// execute the SQL statement
objCommand.ExecuteNonQuery();
}
catch (Exception objError)
{
// display error details
//outError.InnerHtml = "<b>* Error while accessing data</b>.<br />" +
objError.Message + "<br />" + objError.Source;
ErrorMessage += objError.ToString();
return false; //and stop execution
}
objDataReader.Close();
close();
return true;
- 隐藏被引用文字 -
- 显示引用的文字 -
}
}
2 发件人: Andy Baron - 查看个人资料
日期: 2002年4月22日(星期一) 上午8时52分
电子邮件: Andy Baron <Andy_Ba...@msn.com>
论坛: microsoft.public.dotnet.framework.adonet
Not yet rated评级:
显示选项
答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 报告滥用行为 | 查找此作者的帖子
Password is a reserved word. You need to put brackets around it:
"INSERT INTO users (userName, [password]) . . ."
-- Andy
In message <#P0#FaW6BHA.1384@tkmsftngp02> Mike wrote:
- 隐藏被引用文字 -
- 显示引用的文字 -
>This is the code. The Select works but the Insert doesn't.
>I get this error
>System.Data.OleDb.OleDbException: Syntax error in INSERT INTO statement.
>public databaseConn()
>{
>String openCommand = "Provider=Microsoft.Jet.OLEDB.4.0;Data
>Source=D://database//firstSpaceDB.mdb";
>objConnect = new OleDbConnection(openCommand);
>//
>// TODO: Add constructor logic here
>//
>}
>public void Open()
>{
>objConnect.Open();
>}
>public void close()
>{
>objConnect.Close();
>}
>public bool setNewUser(String name, String password)
>{
>Open();
>String select = "SELECT * FROM users";
>OleDbCommand objCommand = new OleDbCommand(select, objConnect);
>//declare a variable to hold a DataReader object
>OleDbDataReader objDataReader;
>objDataReader = objCommand.ExecuteReader();
>while(objDataReader.Read())
>{
>if(objDataReader.GetString(0).CompareTo(name) == 0)
>{
>objDataReader.Close();
>close();
>return false;
>}
>ErrorMessage += objDataReader.GetString(0);
>}
>objDataReader.Close();
>string strInsert = "INSERT INTO users (userName, password) VALUES ('" + name
>+ "', '" + password + "' ) ";
>ErrorMessage += strInsert;
>try
>{
>// create a new OleDbCommand using the connection object and select
>statement
>objCommand = new OleDbCommand(strInsert, objConnect);
>// execute the SQL statement
>objCommand.ExecuteNonQuery();
>}
>catch (Exception objError)
>{
>// display error details
>//outError.InnerHtml = "<b>* Error while accessing data</b>.<br />" +
>objError.Message + "<br />" + objError.Source;
>ErrorMessage += objError.ToString();
>return false; //and stop execution
>}
>objDataReader.Close();
>close();
>return true;
>}
>}
- 调试的一段和数据库有关的小程序
- 调试的一段小代码
- javascript的一段小程序
- 不解的一段小程序
- 有关Qt程序的调试
- 一段基本的X86调试程序
- 有关指针的小程序
- 很搞笑的一段小程序
- 刚看到的一段小程序
- 获得本地时间的一段小程序
- 一段fork小程序说明的问题
- 打印小票的一段程序
- 小程序里面的一段代码
- 一段小程序,方便调试I2C
- linux环境下调试有关涉及到条件编译的c程序的小用法
- 一段有关JavaScript的翻译
- 一段和弹出窗口有关的JS代码
- 数据库的小程序
- 在DOS下结束进程
- 杀死僵尸进程
- 包,final和static关键字 内部类
- windows批处理脚本撰写
- [发布] QQ论坛在线G机程序1.3
- 调试的一段和数据库有关的小程序
- Linux 下查询文件的方法
- Grub installation and configuration
- 解决无法正常的待机和休眠
- 高级Bash脚本编程指南
- 使用Editplus编辑运行Java程序
- Java中的构造函数介绍
- SharePoint 站点结构及概念
- 华为smart mt880 adsl modem 路由共享上网配置