我想要一个临时表的插入查询

时间:2010-05-26 10:27:51

标签: c# .net sql-server

我正在使用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();
}

2 个答案:

答案 0 :(得分:7)

临时表仅存在于当前连接的上下文中,并且在当前连接的持续时间内,您的连接只有一个insert命令,您没有创建临时表,因此您尝试插入的临时表不存在。即使您在插入值的同一查询中创建了一个,也会在关闭连接后立即删除它。如果您希望表之间存在需要创建普通表的连接,请插入值,然后在完成后将其删除。

答案 1 :(得分:1)

您需要在使用之前声明临时表。首先声明它,然后将值插入其中。