我有一个ASP.NET页面,其中包含文本框,即用户名和密码以及名为cmdlogin的按钮。我希望当我在文本框中输入数据时,那些数据应保存到数据库中。
在Visual Studio的SQL服务器中,我创建了表甚至还给出了
INSERT INTO cmd_login VALUES(".......").
现在问题是当我在textboox中输入数据时,它没有保存在数据库表中。我该怎么办。
我已将连接字符串放入类文件中。我是否需要将我的连接字符串放在web.config
?
我的代码是
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
public class Db
{
public static SqlConnection GetConnection()
{
SqlConnection cn = new SqlConnection();
cn.ConnectionString =@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\talat\MyRealSacaProject\App_Data\SACALogin.mdf;Inte grated Security=True;User Instance=True;";
cn.Open();
return cn;
}
public static void SaveAdmin(admin a)
{
SqlConnection cn = GetConnection();
string sql = "INSERT INTO admin_login VALUES(@[User-Name],@Password)";
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("@[User-Name]",a.username);
cmd.Parameters.AddWithValue("@Password", a.password);
cmd.ExecuteNonQuery();
cn.Close();
}
}
答案 0 :(得分:0)
尝试这个简单的代码:
SqlConnection _conn = new SqlConnection(_connString);
_conn.Open();
SqlCommand _cmd = new SqlCommand();
_cmd.CommandType = CommandType.StoredProcedure;
_cmd.Parameters.Clear();
_cmd.Connection = _conn;
_cmd.CommandText = "INSERT INTO [tablename] VALUE ([fieldvalue])"; //here your textbox
int _execute = _cmd.ExecuteNonQuery();
bool _result = false;
if(_execute != 1)
_result = true;
_conn.Close();
答案 1 :(得分:0)
如下所示更改您的代码,它将起作用
public static SqlConnection GetConnection()
{
string ConString="Data Source=.\SQLEXPRESS;AttachDbFilename=E:\talat\MyRealSacaProject\App_Data\SACALogin.mdf;Integrated Security=True;User Instance=True";
SqlConnection cn = new SqlConnection(ConString);
cn.Open();
return cn;
}
答案 2 :(得分:0)
从您的代码中尝试此更改:
public static void SaveAdmin(admin a)
{
SqlConnection cn = GetConnection();
string sql = "INSERT INTO admin_login VALUES('" + a.username + "','" + a.Password + "')";
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.ExecuteNonQuery();
cn.Close();
}