我正在使用C#.Net和Sql Server(Windows应用程序)。我创建了一个临时表。单击按钮时,将创建临时表(#tmp_emp_answer)。我有另一个名为“插入值”的按钮,还有5个文本框。使用文本框中输入的值以及com.ExecuteNonQuery();行来了,它会抛出一条错误消息无效的对象名称'#tbl_emp_answer'..下面是代码集..请给我一个解决方案。
插入代码(插入值按钮):
private void btninsertvalues_Click(object sender, EventArgs e)
{
username = txtusername.Text;
examloginid = txtexamloginid.Text;
question = txtquestion.Text;
answer = txtanswer.Text;
useranswer = txtanswer.Text;
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=tempdb;Integrated Security=True;");
SqlCommand com = new SqlCommand("Insert into #tbl_emp_answer values('"+username+"','"+examloginid+"','"+question+"','"+answer+"','"+useranswer+"')", con);
con.Open();
com.ExecuteNonQuery();
con.Close();
}
答案 0 :(得分:7)
临时表仅存在于当前连接的上下文中,并且在当前连接的持续时间内,您的连接只有一个insert命令,您没有创建临时表,因此您尝试插入的临时表不存在。即使您在插入值的同一查询中创建了一个,也会在关闭连接后立即删除它。如果您希望表之间存在需要创建普通表的连接,请插入值,然后在完成后将其删除。
答案 1 :(得分:1)
您需要在使用之前声明临时表。首先声明它,然后将值插入其中。