将列表框项目作为列名添加到 SQL 服务器列
Add listbox item to SQL Server columns as columns name
foreach (string LB in listBox1.Items)
{
SqlCommand SCA = new SqlCommand("create table " + textBox3.Text + "("+
listBox1.Items[].ToString()+")",SC1);
SCA.ExecuteNonQuery();
}
如何使用循环添加所有项目以将 listbox.items 上的项目添加到 SQL 仅用于列名称的服务器列?
示例:
您正在尝试循环创建多个同名表。我想你的代码应该是这样的:
// StringBuilder is better way to creating a string in a loop,
// because it doesn't allocate new string on each concatenation
StringBuilder command = new StringBuilder("create table ");
command.Append(textBox3.Text).Append("(");
string separator = "";
// It is better to give more descriptive names to variables
foreach (string columnName in listBox1.Items)
{
// You forgot to specify column type
command.Append(separator)
.Append(columnName)
.Append(" varchar(1000)");
separator = ",";
}
command.Append(")");
// SqlCommand and SqlConnection implement IDisposable,
// so it is better to wrap their instantiation by 'using' statement
// in order to free corresponding resources
using (SqlCommand sqlCommand = new SqlCommand(command.ToString(), SC1)) {
sqlCommand.ExecuteNonQuery();
}
foreach (string LB in listBox1.Items)
{
SqlCommand SCA = new SqlCommand("create table " + textBox3.Text + "("+
listBox1.Items[].ToString()+")",SC1);
SCA.ExecuteNonQuery();
}
如何使用循环添加所有项目以将 listbox.items 上的项目添加到 SQL 仅用于列名称的服务器列?
示例:
您正在尝试循环创建多个同名表。我想你的代码应该是这样的:
// StringBuilder is better way to creating a string in a loop,
// because it doesn't allocate new string on each concatenation
StringBuilder command = new StringBuilder("create table ");
command.Append(textBox3.Text).Append("(");
string separator = "";
// It is better to give more descriptive names to variables
foreach (string columnName in listBox1.Items)
{
// You forgot to specify column type
command.Append(separator)
.Append(columnName)
.Append(" varchar(1000)");
separator = ",";
}
command.Append(")");
// SqlCommand and SqlConnection implement IDisposable,
// so it is better to wrap their instantiation by 'using' statement
// in order to free corresponding resources
using (SqlCommand sqlCommand = new SqlCommand(command.ToString(), SC1)) {
sqlCommand.ExecuteNonQuery();
}