I am using C#.Net and Sql Server ( Windows Application ). I had created a temporary table. When a button is clicked, temporary table (#tmp_emp_answer) is created. I am having another button called “insert Values” and also 5 textboxes. The values that are entered in the textbox are used and whenever com.ExecuteNonQuery(); line comes, it throws an error message Invalid object name ‘#tbl_emp_answer’.. Below is the set of code.. Please give me a solution.
Code for insert (in insert value button):
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();
}
Temp tables only exists in the context of and for the duration of the current connection, your connection only has an insert command you are not creating a temp table as such the temp table you are trying to insert into does not exist. Even if you were creating one as part of the same query that inserted the values, it would be dropped as soon as you closed the connection. If you want a table to persist between connections you need to create a normal table, insert the values, then drop it later when you have finished with it.