hi,
when i tried to run the following code , the code keeps on running without creating the required table...............
pls can anyone help me to figure out the problem........
waiting for your replies...
int row_head = 3;
int col_head = 3;
TextBox[] columns1=new TextBox[5];
TextBox[] rows = new TextBox[2];
for (int i = 0; i < 3; i++)
columns1[ i ] = new TextBox();
for (int i = 0; i < 2; i++)
rows[ i ] = new TextBox();
columns1[0].Text = "col1";
columns1[1].Text = "col2";
columns1[2].Text = "col3";
rows[0].Text = "rowh1";
rows[1].Text = "rowh2";
String[] description=new string[10];
for (int k = 0; k < 10; k++)
description[k] = k.ToString();
int index_value = 0;
int des_index = 0;
string datatype = "";
string command = "";
SqlConnection sqlCN = new SqlConnection(connectionString);
for (int i = 0; i < col_head + 1; i++)
{
if (i == 0)
datatype += "(col " + i + " varchar(20),";
else if (i + 1 == col_head+1)
datatype += "col" + i + " varchar(20))";
else
datatype += "col" + i + " varchar(20),";
}
MessageBox.Show(datatype);
MessageBox.Show("create table " + textBox1.Text + " " + datatype);
string selectCommandText = "create table " + textBox1.Text +datatype;
MessageBox.Show("executed");
try
{
SqlCommand sqlCmd = new SqlCommand(selectCommandText, sqlCN);
sqlCN.Open();
MessageBox.Show("open ");
// the following command is not executed.....
sqlCmd.ExecuteNonQuery();
MessageBox.Show("open and execu");
for (int i = 0; i < row_head + 1; i++)
{
command="";
if (i == 0)
{
command="' ',";
for(int j=0;j<col_head;j++)
{
if(j+1==col_head)
command+="'"+columns1[j].Text+"'";
else
command+="'"+columns1[j].Text+"',";
}
}
else
{
command = "'"+rows[index_value++].Text+"',";
for (int j = des_index; j < des_index + col_head; j++)
{
if (j +1== des_index+col_head)
command += "'" + description[j] + "'";
else
command += "'" + description[j] + "',";
}
des_index = des_index + col_head;
}
MessageBox.Show("INSERT INTO " + textBox1.Text + " values(" + command + ")");
sqlCmd.CommandText = "INSERT INTO " + textBox1.Text + " values("+command+")";
sqlCmd.ExecuteNonQuery();
}
MessageBox.Show("fini");
selectCommandText = "SELECT * FROM " + textBox1.Text;
sqlCmd = new SqlCommand(selectCommandText, sqlCN);
sqlCmd.ExecuteNonQuery();
SqlDataAdapter sqlDA = new SqlDataAdapter(selectCommandText, sqlCN);
DataSet DS = new DataSet();
sqlDA.Fill(DS);
MessageBox.Show("fini 2");
DataGridView1.DataSource = DS.Tables[0].DefaultView;
}
catch (Exception eio)
{ }}
Sweety
Appearantly you are getting an error during the execution. Having a try / catch block, with no actions or error retrieval functionalty will keep the error under the covers.
Please post the error message in here which ca be retrieved by reading the eio.Message and post the script which is used for the creation of the table.
BTW if you want to create a table you could use SMO rather than doing a script composing and executing this against the database.
HTH, Jens K. Suessmeyer.
http://www.sqlserver2005.de
Hello,
I tried to print the message , I got " Incorrect syntax near '0'"..can some one tell me what does it mean...
bye
Sweety
|||This is a syntax error in your query. Post the query (commandtext of the command here)
HTH, Jens K. Suessmeyer.
http://www.sqlserver2005.de
This is your mistake: You have put a space after col so your create table command looks like create table (col 0 varchar(20), ... which is not correct, remove the space and it will start working.
for (int i = 0; i < col_head + 1; i++)
{
if (i == 0)
datatype += "(col " + i + " varchar(20),";
else if (i + 1 == col_head+1)
datatype += "col" + i + " varchar(20))";
else
datatype += "col" + i + " varchar(20),";
}
Thanks
Waseem
No comments:
Post a Comment