Обнаружение нулевого заполнения в поле MySQL с VS 2008 VB - PullRequest
1 голос
/ 27 июля 2011

Использование коннектора .NET: http://dev.mysql.com/doc/refman/5.1/en/connector-net-ref.html

Поле в MySQL установлено как:

decimal(6) zerofill not null

Как можно определить флаг "нулевого заполнения" в VB?

1 Ответ

1 голос
/ 27 июля 2011

Вы можете получить информацию о столбце, используя SHOW COLUMNS IN tablename, этот запрос возвращает что-то в форме:

field         type                          null   key   default    extra
fieldname     int(10) unsigned zerofill      no            0    

Таким образом, чтобы получить флаг zerofill, вы должны искать в типе, если возвращаемая в int строка содержит строку 'zerofill':

Что-то вроде этого поможет:

static void Main(string[] args)
{
    dim conn as MySqlConnection
    conn = new MySqlConnection
    conn.ConnectionString = "Server = yourserver; Database = yourdb; Uid = youruser;Pwd = yourpassword;"

    conn.Open

    MySqlCommand cmd = new MySqlCommand
    cmd.Connection = conn
    cmd.CommandText = "SHOW COLUMNS IN yourtable"
    cmd.CommandType = CommandType.Text

    dim reader as MySqlDataReader
    reader = cmd.ExecuteReader

    while reader.Read
        Console.WriteLine("Field:{0}, zerofill:{1}",reader("field"),if(reader("type").ToString().Contains("zerofill"),true,false))
    end while
    conn.Close()
}
...