判断数据库表是否包含某列

来源:互联网 发布:盘古网络的复式好过吗 编辑:程序博客网 时间:2024/05/16 08:41

/// <summary>    /// 判断是否存在某表的某个字段    /// </summary>    /// <param name="tableName">表名称</param>    /// <param name="columnName">列名称</param>    /// <returns>是否存在</returns>    public bool ColumnExists(string tableName, string columnName)    {        string sql = "select count(1) from syscolumns where [id]=object_id('" + tableName + "') and [name]='" + columnName + "'";        object res = GetSingle(sql);        if (res == null)        {            return false;        }        return Convert.ToInt32(res) > 0;    }

    public object GetSingle(string SQLString)    {        using (SqlConnection connection = getConnection())        {            using (SqlCommand cmd = new SqlCommand(SQLString, connection))            {                try                {                    connection.Open();                    object obj = cmd.ExecuteScalar();                    if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))                    {                        return null;                    }                    else                    {                        return obj;                    }                }                catch (System.Data.SqlClient.SqlException e)                {                    connection.Close();                    throw e;                }                finally                {                    cmd.Dispose();                    connection.Close();                }            }        }