
insert into插入数据库时语法出错
publicpartialclassregister:System.Web.UI.Page{protectedvoidPage_Load(objectsender,Eve...
public partial class register : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string cnstring = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Server.MapPath("") + @"\App_Data\Database.mdf;Integrated Security=True;User Instance=True"; //本地数据库文件
DataTable dt = new DataTable("tmp");
SqlDataAdapter da = new SqlDataAdapter("select mm from users where xh='" + TextBox1.Text + "'", cnstring);
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Label1.Text="该学号已被注册";
}
else if(TextBox2.Text!=TextBox3.Text)
{
Label1.Text = "两次密码输入不一致";
}
string uxh = TextBox1.Text.ToString();
string umm = TextBox2.Text.ToString();
string uxm = TextBox4.Text.ToString();
string uxy = TextBox5.Text.ToString();
string usd = TextBox6.Text.ToString();
string uss = TextBox7.Text.ToString();
string sql = string.Format("insert into users(xh,mm,xm,xy,sd,ss) values(uxh, umm, uxm, uxy, usd, uss)");
SqlConnection sqlcon=new SqlConnection();
sqlcon.ConnectionString=cnstring;
sqlcon.Open();
SqlCommand sqlcmd = new SqlCommand(sql,sqlcon);
sqlcmd.ExecuteNonQuery();
sqlcon.Close();
Label1.Text = "注册成功,请按返回进入登陆页面";
}
}
数据库放在App_data,有id,xh,mm,xm,xy,sd,ss列,id设为标识列,运行没提示错误,网页按提交时同时出错,“' ' 附近有语法错误”,请高手解答 展开
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string cnstring = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Server.MapPath("") + @"\App_Data\Database.mdf;Integrated Security=True;User Instance=True"; //本地数据库文件
DataTable dt = new DataTable("tmp");
SqlDataAdapter da = new SqlDataAdapter("select mm from users where xh='" + TextBox1.Text + "'", cnstring);
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Label1.Text="该学号已被注册";
}
else if(TextBox2.Text!=TextBox3.Text)
{
Label1.Text = "两次密码输入不一致";
}
string uxh = TextBox1.Text.ToString();
string umm = TextBox2.Text.ToString();
string uxm = TextBox4.Text.ToString();
string uxy = TextBox5.Text.ToString();
string usd = TextBox6.Text.ToString();
string uss = TextBox7.Text.ToString();
string sql = string.Format("insert into users(xh,mm,xm,xy,sd,ss) values(uxh, umm, uxm, uxy, usd, uss)");
SqlConnection sqlcon=new SqlConnection();
sqlcon.ConnectionString=cnstring;
sqlcon.Open();
SqlCommand sqlcmd = new SqlCommand(sql,sqlcon);
sqlcmd.ExecuteNonQuery();
sqlcon.Close();
Label1.Text = "注册成功,请按返回进入登陆页面";
}
}
数据库放在App_data,有id,xh,mm,xm,xy,sd,ss列,id设为标识列,运行没提示错误,网页按提交时同时出错,“' ' 附近有语法错误”,请高手解答 展开
4个回答
展开全部
插入语句写错了:
//insert into database
string xh = SQLString.GetSafeSqlString(DropDownList1.Text);
string mm = SQLString.GetSafeSqlString(TB.Text);
//后面的xm,xy,sd,ss我就不一一写了,如果嫌麻烦就把sql语句后面的xh等直接换成TextBox.Text之类的
string sql = string.Format("insert into users(xh,mm,xm,xy,sd,ss) values('{0}','{1}','{2}','{3}','{4}','{5}')",xh,mm,xm,xy,sd,ss);
//下面是通过数据集绑定的数据库
// DataBase db = new DataBase();
// db.GetDataSetSql(sql);
如果你的后台数据库设置了id为主键不为空,那又会出现错误。插入时需要把id也写进sql语句,如:
string sql = string.Format("insert into users(id,xh,mm,xm,xy,sd,ss) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}')",id,xh,mm,xm,xy,sd,ss);
id就自己定义了,自增或是其他的都可以。
个人意见,仅供参考。
展开全部
xh是字符串类型还是数字类型
mm,xm,xy,sd,ss分别是什么类型
users 表名有可能与关键字重复,两边加上中括号改成[users]
改了上面两点再看其他的
追问
要怎么声明xh,mm,xm,xy,sd,ss的类型呢?前四个是字符串,后两个是int,要怎么改呢?
追答
总之sql语句的规则就是字符串两边要加单引号,数字两边不加。建议你网上多搜搜怎么拼接sql字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string sql = string.Format("insert into users(xh,mm,xm,xy,sd,ss) values(‘{0}’, ‘{1}’,‘{2}’,‘{3}’, ‘{4}’,‘{5}’)",(uxh, umm, uxm, uxy, usd, uss);
你自己吧变量放在引号里面 那就成字符串了 相当于你在 数据库 直接执行的语句就是
insert into users(xh,mm,xm,xy,sd,ss) values(uxh, umm, uxm, uxy, usd, uss)
而值确没传进去!~
你自己吧变量放在引号里面 那就成字符串了 相当于你在 数据库 直接执行的语句就是
insert into users(xh,mm,xm,xy,sd,ss) values(uxh, umm, uxm, uxy, usd, uss)
而值确没传进去!~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用我的 吧 你修改一下
string ConnStr = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True";
(你用你的这个"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Server.MapPath("") + @"\App_Data\Database.mdf;Integrated Security=True;User Instance=True"; )
SqlConnection conn = new SqlConnection(ConnStr);
conn.Open();
SqlCommand mon = conn.CreateCommand();
mon.CommandText = "insert into users values ('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','" + TextBox7.Text + "')";
try
{
int a = mon.ExecuteNonQuery();
Label3.Text = "注册成功!";
}
catch (Exception ee)
{
Label1.Text = "用户名存在!";
}
if (TextBox1.Text == "")
{
Label1.Text = "请输入用户名!";
}
if (TextBox2.Text == "")
{
Label2.Text = "请输入密码!";
}
if ((TextBox2.Text) == (TextBox3.Text))
{
Label2.Text = "两次密码相同!";
}
你把你的string uxh = TextBox1.Text.ToString();
string umm = TextBox2.Text.ToString();
string uxm = TextBox4.Text.ToString();
string uxy = TextBox5.Text.ToString();
string usd = TextBox6.Text.ToString();
string uss = TextBox7.Text.ToString();
string sql = string.Format("insert into users(xh,mm,xm,xy,sd,ss) values(uxh, umm, uxm, uxy, usd, uss)");
删掉
insert 语句 改成 SqlCommand sqlcmd = new SqlCommand("写insert 语句",sqlcon); 或者string sql="insert 语句";
SqlCommand sqlcmd = new SqlCommand(sql,sqlcon); 你的 SqlDataAdapter da = new SqlDataAdapter("select mm from users where xh='" + TextBox1.Text + "'", cnstring);
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Label1.Text="该学号已被注册";
}
else if(TextBox2.Text!=TextBox3.Text)
{
Label1.Text = "两次密码输入不一致";
} 自己加上就可以了
string ConnStr = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True";
(你用你的这个"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Server.MapPath("") + @"\App_Data\Database.mdf;Integrated Security=True;User Instance=True"; )
SqlConnection conn = new SqlConnection(ConnStr);
conn.Open();
SqlCommand mon = conn.CreateCommand();
mon.CommandText = "insert into users values ('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','" + TextBox7.Text + "')";
try
{
int a = mon.ExecuteNonQuery();
Label3.Text = "注册成功!";
}
catch (Exception ee)
{
Label1.Text = "用户名存在!";
}
if (TextBox1.Text == "")
{
Label1.Text = "请输入用户名!";
}
if (TextBox2.Text == "")
{
Label2.Text = "请输入密码!";
}
if ((TextBox2.Text) == (TextBox3.Text))
{
Label2.Text = "两次密码相同!";
}
你把你的string uxh = TextBox1.Text.ToString();
string umm = TextBox2.Text.ToString();
string uxm = TextBox4.Text.ToString();
string uxy = TextBox5.Text.ToString();
string usd = TextBox6.Text.ToString();
string uss = TextBox7.Text.ToString();
string sql = string.Format("insert into users(xh,mm,xm,xy,sd,ss) values(uxh, umm, uxm, uxy, usd, uss)");
删掉
insert 语句 改成 SqlCommand sqlcmd = new SqlCommand("写insert 语句",sqlcon); 或者string sql="insert 语句";
SqlCommand sqlcmd = new SqlCommand(sql,sqlcon); 你的 SqlDataAdapter da = new SqlDataAdapter("select mm from users where xh='" + TextBox1.Text + "'", cnstring);
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Label1.Text="该学号已被注册";
}
else if(TextBox2.Text!=TextBox3.Text)
{
Label1.Text = "两次密码输入不一致";
} 自己加上就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询