110,546
社区成员
发帖
与我相关
我的任务
分享
private static bool CreateTableInDB(DataTable dt, string dbName)
{
//创建表(只有结构,没有数据)
try
{
string connString = "Integrated Security=SSPI;" + "Initial Catalog=" + dbName + ";" + "Data Source=localhost;";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = connString;
conn.Open();
string strSql = "CREATE TABLE " + dt.TableName + "(";
//!!注意列名中如果含有特殊字符,要加中括号[]引起来,防止sql无法识别
for (int c = 0; c < dt.Columns.Count; c++)
{
if (c != dt.Columns.Count - 1)
strSql += "[" + dt.Columns[c].ColumnName + "] nvarchar(50) NOT NULL,"; //!!注意,不要随便设主键,否则SqlBulkCopy导入数据库后,会按照主键来进行排序!
else if (c == dt.Columns.Count - 1)
strSql += "[" + dt.Columns[c].ColumnName + "] nvarchar(50) NOT NULL)";
}
SqlCommand cmd = new SqlCommand(strSql, conn);
int i =
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return false;
}
return true;
}