无法在SQL数据库中插入信息
本文关键字:插入 信息 数据库 SQL | 更新日期: 2023-09-27 18:29:37
我正在为一所学校的家长协会开发一个网站。我的系统有两个保留区域,家长和教师/学校成员都可以访问。这两个领域是后台和前台。
我可以用爸爸或妈妈的用户名和他们各自的密码开始一个新的会话,然后在前台我有一个新页面,在那里,它被跳过了,一顿新的饭被成功地预订了,结果应该在SQL数据库表中插入一个新行。
碰巧,对于这个,我有下一个代码:
protected void ReserveMeal (object sender, EventArgs e)
{
string tipoRefeicao=string.Empty;
DateTime DataSelecionada = Convert.ToDateTime(BasicDatePicker1.Text.ToString());
bool refeicaoFinalizada = false; //Refeicao nao é consumida no imediato
try
{
//ligar a base de dados e realizar nova conexao
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)'MSSQLLocalDB;AttachDbFilename=C:'Users'Vitor'Documents'Visual Studio 2015'Projects'Educational'Educational'App_Data'SchoolPASS.mdf; Integrated Security=True;Connect Timeout=30");
con.Open();
string selectUser = "SELECT count (*) from EEAluno where NomeUtilizadorEE='" + newName + "'";
string res = Convert.ToString(selectUser);
SqlCommand com = new SqlCommand(selectUser, con);
int temp = Convert.ToInt32(com.ExecuteScalar().ToString());
con.Close();
if (temp == 1)
{
con.Open();
string verificaPassword = "select Password from EEAluno where NomeUtilizadorEE='" + newName + "'";
SqlCommand passCommand = new SqlCommand(verificaPassword, con);
string password = passCommand.ExecuteScalar().ToString();
if (password == Session["Pass"].ToString())//Nao testado
{
//Inserir refeicao numa tabela nova
SqlCommand insert = new SqlCommand("INSERT INTO TabelaRefeicoesEncomendadas (NomePessoa,TipoRefeicao,Data, Finalizada) VALUES (@NomePessoa,@TipoRefeicao,@Data,@Finalizada)", con);
//insert.Parameters.Add("@Id", 1);
insert.Parameters.AddWithValue("@NomePessoa", newName);
insert.Parameters.AddWithValue("@TipoRefeicao", tipoRefeicao);
insert.Parameters.AddWithValue("@Data", DataSelecionada);
insert.Parameters.AddWithValue("@Finalizada", refeicaoFinalizada);//escreve falso na DB
}
}
}
catch (Exception exc)
{
}
}
在代码中进行仔细分析时,您可以观察到我正在尝试检查未识别的用户是否是正确的用户。
因此,如果我们在一个DB表中有许多用户,那么在一台确定的计算机中,只有一个用户是活动用户,例如"X"(我假设"X"已成功登录系统),并且只有"X"可以为各自的孩子预订一顿饭。
简历:我已经考虑了一种算法来检查用户会话,然后将预订的餐点插入数据库表中。我没有成功。我认为它无法正确验证会话。存在两个错误。
- 每次我尝试创建餐时(当调用方法时),用户名都会增加,所以如果用户名是"X",则用户名变为"XX"
- SQL数据库中未插入餐食信息
你能帮我吗!
根据提供的代码,您没有执行插入的sql命令。
这样的东西应该工作,在你完成设置参数后:
insert.ExecuteNonQuery();