sqlite3 и cursor.description

Как только вы загрузите dotnetopenid , посмотрите в каталоге samples \ RelyingPartyMvc. Есть пример, где они заменяют систему аутентификации MVC по умолчанию на OpenID. Соответствующий код находится в Controllers / UserController.cs. Вот действие Аутентификация:

//Stage 1: Show form asking for Open ID identifier URL
var openid = new OpenIdRelyingParty();
if (openid.Response == null) {
    // Stage 2: user submitting Identifier
    Identifier id;
    if (Identifier.TryParse(Request.Form["openid_identifier"], out id)) {
            openid.CreateRequest(Request.Form["openid_identifier"]).RedirectToProvider();
    } else {
            ViewData["Message"] = "Invalid identifier";
            return View("Login");
            }
} else {
    // Stage 3: OpenID Provider sending assertion response
    switch (openid.Response.Status) {
        case AuthenticationStatus.Authenticated:
            FormsAuthentication.RedirectFromLoginPage(openid.Response.ClaimedIdentifier, false);
            break;
        case AuthenticationStatus.Canceled:
            ViewData["Message"] = "Canceled at provider";
            return View("Login");
        case AuthenticationStatus.Failed:
            ViewData["Message"] = openid.Response.Exception.Message;
            return View("Login");
    }
}
return new EmptyResult();

5
задан astrofrog 17 October 2009 в 22:11
поделиться

2 ответа

Нет, это не единственный способ. В качестве альтернативы вы также можете выбрать одну строку, перебрать ее и проверить отдельные объекты и типы Python столбца. Если значение не равно None (в этом случае поле SQL равно NULL), это должно дать вам довольно точное указание на тип столбца базы данных.

5
ответ дан 14 December 2019 в 13:41
поделиться

Я не пробовал это в Python, но вы можете попробовать что-нибудь вроде

SELECT *
FROM sqlite_master
WHERE type = 'table';

, которое содержит оператор DDL CREATE, используемый для создания таблицы. Анализируя DDL, вы можете получить информацию о типе столбца, такую ​​как она есть. Помните, что SQLITE довольно расплывчатый и неограниченный, когда дело касается типов данных столбцов.

1
ответ дан 14 December 2019 в 13:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: