AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-1413856

Manngo's questions

Martin Hope
Manngo
Asked: 2025-04-04 18:39:06 +0800 CST

Logins e usuários do SQL Server

  • 5

Quero criar uma coleção de bancos de dados e usuários para que cada usuário tenha acesso a apenas um banco de dados.

A pergunta do SO Diferença entre um usuário e um login no SQL Server discute logins e usuários.

Entendo que, geralmente, um login é para o servidor e um usuário é para o banco de dados. No entanto, não consigo ver como isso funciona, pois a senha é definida para o login, não para o usuário.

Isso significa que preciso de um login diferente para cada banco de dados ou existe uma maneira de fazer isso com um único login com vários usuários, cada um com sua própria senha?

Quero fazer isso em SQL, não na interface gráfica, pois preciso criar um script para isso.

sql-server
  • 2 respostas
  • 59 Views
Martin Hope
Manngo
Asked: 2025-03-28 15:42:53 +0800 CST

Correspondência de texto dentro de um único caractere delimitador, mas não de vários, em uma expressão regular

  • 5

Estou para encontrar uma expressão regular para corresponder a strings dentro de caracteres específicos únicos, mas não múltiplos. Por exemplo:

this is =one= and =two= but not ==three== or ==four== etc

Aqui estou usando =como delimitador, e quero corresponder a onee twoporque eles estão dentro de delimitadores simples, mas não a threeou fourporque eles estão dentro de vários delimitadores.

Achei que usar lookahead e lookbehind negativos resolveria o problema:

/(?<!=)=(.+?)=(?!=)/g

mas acabo combinando as outras strings também, então obviamente não entendo corretamente o trabalho de lookahead e lookbehind negativo quente. Pensei que a expressão significa = não precedido por um =, e assim por diante.

Um teste maior inclui sequências de várias linhas:

this is =one= and =two= but not ==three== or ==four==.

====
this shouldn’t count at all
====

Pode haver outra abordagem, que seria bem-vinda, mas acho que uma que usasse lookahead e lookbehind seria mais educativa.

Estou usando PHP e pretendo usar a preg_replace_callback()função.

  • 1 respostas
  • 48 Views
Martin Hope
Manngo
Asked: 2025-03-08 19:12:00 +0800 CST

Reiniciando a coluna IDENTITY após inserir dados

  • 5

Tenho uma tabela com uma coluna de identidade definida por:

id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,

Para começar, inseri algumas linhas manualmente, incluindo a idcoluna:

INSERT INTO things(id, …)
VALUES (…, …), (…, …), (…, …);

Agora quero usar IDs gerados automaticamente para o resto.

Eu tentei:

ALTER TABLE things ALTER COLUMN id RESTART WITH (SELECT max(id) FROM things);

mas isso não funciona.

Eu até tentei:

EXECUTE IMMEDIATE 'ALTER TABLE employees ALTER COLUMN id RESTART WITH ' || (SELECT MAX(id)+1 FROM employees);

Sei que posso reiniciar com um valor constante, mas isso não será útil se eu não puder prever o id final após as inserções.

Existe uma maneira de reiniciar dinamicamente a coluna de identidade?

sql
  • 3 respostas
  • 57 Views
Martin Hope
Manngo
Asked: 2025-01-19 12:38:01 +0800 CST

Como posso adicionar um menu antes do primeiro no Python tkInter?

  • 5

Estou escrevendo um código para adicionar um menu a um aplicativo tkInter. Aqui está um exemplo funcional:

import tkinter

main = tkinter.Tk()
main.title('Menu Test')

menubar = tkinter.Menu(main)
main['menu'] = menubar

m = tkinter.Menu()
menubar.add_cascade(menu=m, label='First')
m.add_command(label='Thing', command=lambda: print('thing'))

m = tkinter.Menu()
menubar.add_cascade(menu=m, label='Second')
m.add_command(label='Whatever', command=lambda: print('whatever'))

#   How to add another menu before 'First' ?

main.mainloop()

É possível adicionar outro menu antes do primeiro menu ( First)?

Obviamente, neste caso simples, posso simplesmente defini-lo primeiro, mas quero escrever uma rotina que preencha um menu a partir de um dicionário.

python
  • 2 respostas
  • 57 Views
Martin Hope
Manngo
Asked: 2024-11-17 13:09:51 +0800 CST

Estilizar um menu suspenso simples no SwiftUI

  • 5

Estou tentando criar um botão dropdown simples no SwiftUI no macOS. Normalmente eu esperaria usar algo assim:

MenuButton("☰") {
    Button(action: { print("Something") }) {
        HStack {
            Image(systemName: "questionmark.circle")
            Text("Something")
        }
    }
    Button(action: { print("Something Else") }) {
        HStack {
            Image(systemName: "exclamationmark.circle")
            Text("Something Else")
        }
    }
}
.menuButtonStyle(BorderlessButtonMenuButtonStyle())

O .menuButtonStyle(BorderlessButtonMenuButtonStyle())mostra apenas o ícone do menu (☰)

insira a descrição da imagem aqui

sem o menu suspenso

insira a descrição da imagem aqui

No entanto, MenuButtonfoi descontinuado em favor de Menu, o que é bom, mas preciso modificá-lo com .menuStyle, e não consigo encontrar o equivalente aBorderlessButtonMenuButtonStyle

Qual seria o equivalente para Menusuprimir a seta suspensa?

macos
  • 1 respostas
  • 18 Views
Martin Hope
Manngo
Asked: 2024-11-08 14:06:42 +0800 CST

Obtendo o Identificador de Pacote no MenuBarExtra

  • 5

Estou escrevendo um MenuBarExtra que precisa saber o aplicativo atual. Tenho um código que quase faz o trabalho:

import SwiftUI

@main
struct XBApp: App {
    @State var bundleID: String = ""

    var body: some Scene {
        MenuBarExtra("Something", systemImage: "questionmark.bubble") {
            VStack {
                XBContent(bundleID: bundleID)
                    .padding(0)
            }
            .onAppear {
                bundleID = NSWorkspace.shared.frontmostApplication!.bundleIdentifier!
                print("\(#fileID):\(#line) - \(bundleID)")
            }
        }
        .menuBarExtraStyle(.window)
    }
}

struct XBContent: View {
    var bundleID: String = ""
    @State var data: String = ""

    init(bundleID: String) {
        self.bundleID = bundleID    //  store received value
    }
    
    var body: some View {
        VStack {
            Text(bundleID)          //  current value
            Text(data)              //  previous value
        }
        .onAppear {
            data = bundleID         //  copy value
            print("\(#fileID):\(#line) - \(bundleID) | \(data)")
        }
    }
}

O aplicativo principal define o Bundle id atual .onAppeare isso é então passado para a XBContentvisualização. Acho que essa parte está fazendo seu trabalho corretamente, mas estou aberto a correções.

A XBContentvisualização simplesmente exibe duas versões do ID do pacote passado:

  • o init()método armazena o valor em uma propriedade.
  • copia onAppear-o para outra variável para teste. Na vida real, ele supostamente usa esse valor para ler outros dados.
  • exibe VStacko valor de init()e o valor copiado de onAppear.

Aqui está o problema: o valor copiado de onAppearestá sempre um passo atrás do outro. Quando o aplicativo é iniciado pela primeira vez e o extra da barra de menu é aberto, o primeiro valor está correto, enquanto o segundo é a string vazia padrão; isso é corrigido na próxima vez. Quando eu troco para outro aplicativo e abro o extra da barra de menu, o primeiro valor é o novo id do pacote correto, enquanto o segundo é o antigo, até que eu tente novamente e esteja OK.

Concluo que isso onAppearnão é acionado quando eu pensava que deveria.

Como posso fazer com que o segundo valor seja o correto?

swiftui
  • 1 respostas
  • 25 Views
Martin Hope
Manngo
Asked: 2024-11-07 18:58:15 +0800 CST

Usando SwiftData com um MenuExtra

  • 5

Tenho um script que adicionará a um armazenamento SwiftData se os dados ainda não existirem. Tenho a lógica funcionando, para uma janela comum, mas não consigo fazê-la funcionar em um Menu Extra. Aqui está um exemplo:

import SwiftUI
import SwiftData

@main
struct XBApp: App {
    var bundleID: String = "whatever"

    
    var body: some Scene {
        MenuBarExtra("Something", systemImage: "questionmark.bubble") {
//      WindowGroup {
            VStack {
                XBContent(bundleID: bundleID)
                    .padding(0)
            }
            .modelContainer(for: XBData.self)
        }
    }
}

@Model
class XBData {
    @Attribute(.unique) var bundle: String
    var note: String
    
    init(bundle: String, note: String = "Note") {
        self.bundle = bundle
        self.note = note
    }
}

struct XBList: View {
    @Query(sort: \XBData.bundle, animation: .easeInOut) var allXBarData: [XBData]
    @Environment(\.modelContext) private var modelContext
    
    var body: some View {
        VStack {
            Text("Everything So Far …")
            List {
                ForEach(allXBarData) { xbd in
                    HStack {
                        Text(xbd.bundle)
                        Spacer()
                        Text(xbd.note)
                        Spacer()
                        Button("", systemImage: "trash", action: {
                            modelContext.delete(xbd)
                        })
                        .buttonStyle(.bordered)
                    }
                }
            }
        }
        .modelContainer(for: XBData.self)
    }
}

struct XBContent: View {
    var bundleID: String = ""
    @Environment(\.modelContext) private var modelContext
    @State var xBData: XBData?
    @Query(sort: \XBData.bundle, animation: .easeInOut) var allXBarData: [XBData]

    func loadData(bundleID: String) -> XBData? {
        print("\(#fileID):\(#line) - \(bundleID)")
//      let filter = FetchDescriptor<XBData>(predicate: #Predicate { $0.bundle == bundleID })
        let filter = FetchDescriptor<XBData>(predicate: #Predicate { $0.bundle == bundleID })
        do {
            var xbd = try modelContext.fetch(filter).first
            print("\(#fileID):\(#line) - \(xbd == nil)")
            if xbd == nil {
                print("\(#fileID):\(#line) - \(xbd!.note)")
                xbd = XBData(bundle: bundleID, note: "Newish Note: \(bundleID)")
                modelContext.insert(xbd!)
                try modelContext.save()
            }
            else {
                print("\(#fileID):\(#line) - \(xbd!.note)")
            }
            return xbd
        } catch {
            print("\(#line) oops")
            return nil
        }
    }
    
    init(bundleID: String) {
        self.bundleID = bundleID
    }
    
    var body: some View {
        VStack {
            Text(bundleID)
//          XBList()
            List {
                ForEach(allXBarData) { xbd in
                    HStack {
                        Text(xbd.bundle)
                        Spacer()
                        Text(xbd.note)
                        Spacer()
                        Button("", systemImage: "trash", action: {
                            modelContext.delete(xbd)
                        })
                        .buttonStyle(.bordered)
                    }
                }
            }
        }
        .modelContainer(for: XBData.self)
        .onAppear {
            xBData = loadData(bundleID: bundleID)!
            xBData!.note = "Newish Note: \(bundleID)"
            try? modelContext.save()
        }
    }
}

Desculpe pelo tamanho da amostra.

Presumindo que um item com id de whatevernão existe, ele deve ser adicionado e exibido na lista.

Na estrutura App, comentei o WindowGroup. Se eu alternar para isso e não para o MenuBarExtra, funciona como esperado.

Também recebo a mensagem muito útil:

Não é possível encontrar ou decodificar os motivos
Falha ao obter ou decodificar os motivos indisponíveis

No entanto, isso acontece com o WindowGroup ou o MenuBarExtra, então não sei se está relacionado.

Qual é o truque para fazer isso funcionar com um MenuBarExtra?

macos
  • 1 respostas
  • 49 Views
Martin Hope
Manngo
Asked: 2024-11-06 14:44:19 +0800 CST

Como adicionar um botão de exclusão para itens de dados do Swift?

  • 5

Estou trabalhando em um aplicativo macOS. Tenho uma lista de itens SwiftData. Algo assim:

struct TestDataList: View {
    @Query var allTestData: [TestData]

    var body: some View {
        VStack {
            Text("Everything")
            if allTestData.count > 0 {
                List {
                    ForEach(allTestData){ test in
                        HStack {
                            Text(test.id)
                            Spacer()
                            Text(test.value)
                            Spacer()
                            Button("", systemImage: "trash", action: {
                                //  ?
                            })
                        }
                    }
                }
            }
        }
        .modelContainer(for: TestData.self)
    }
}

Gostaria de adicionar um botão que excluirá o item atual.

Pesquisei, mas tudo é para iOS e não consigo ver como isso se aplicaria aqui.

Qual actioncódigo preciso para excluir o item atual, tanto da Lista quanto, mais importante, dos dados?

macos
  • 1 respostas
  • 45 Views
Martin Hope
Manngo
Asked: 2024-11-05 10:16:43 +0800 CST

Inserindo no SwiftData

  • 6

Estou tentando escrever um código que insira um novo item no SwiftData se ele ainda não existir. Estou recebendo erros sobre o ModelContextqual não consigo resolver.

O código a seguir é uma versão enxuta que é o suficiente para gerar os erros. Eu removi a lógica para testar um item existente até que eu possa superar esse problema.

Desculpe pela extensão:

import SwiftUI
import SwiftData

@Model
class TestData {
    @Attribute(.unique) var id: String
    var value: String
    init(id: String, value: String) {
        self.id = id
        self.value = value
    }
}

struct EditTestItem: View {
    @Bindable var testData: TestData
    var body: some View {
        VStack {
            HStack {
                Text($testData.id)
                TextField("Enter Data Here", text: $testData.value)
            }
        }
        .modelContainer(for: TestData.self)
    }
}

struct TestContent: View {
    var testIDValue: String = ""
    @Environment(\.modelContext) private var modelContext
    @Query var testData: [TestData]
    var testItem: TestData
        
    init(testID: String) {
        testItem = TestData(id: testID, value: "New value: \(testID)")

        let _ = modelContext.insert(testItem)
                    
        do {
            try modelContext.save()
        } catch {
            print("\(#line) oops")
        }
    }
        
    var body: some View {
        VStack {
            VStack {
                Text(testIDValue)
                Text("\(testData.count)")
                EditTestItem(testData: testItem)
            }
            Button("Save", action: {
                try? modelContext.save()
            })
        }
        .modelContainer(for: TestData.self)
        .onAppear {

        }
    }
}

#Preview {
    TestContent(testID: "b")
        .modelContainer(for: TestData.self)
        .frame(width: 400)
}

Os erros incluem:

Acessando o valor do Environment fora de ser instalado em uma View. Isso sempre lerá o valor padrão e não atualizará.

e

Defina um .modelContext no ambiente da visualização para usar a consulta

Certamente não é adicionar dados.

Qual é a maneira correta de fazer isso?

swiftui
  • 2 respostas
  • 45 Views
Martin Hope
Manngo
Asked: 2024-10-29 10:15:10 +0800 CST

Atualizando ButtonStyle dinamicamente

  • 5

Estou tentando criar um costume ButtonStyleque responda a mudanças de estado. Não consigo atualizá-lo quando o estado muda.

Aqui está uma versão simplificada:

struct TestButton: ButtonStyle {
    @State var selected: Bool = true
    func makeBody(configuration: ButtonStyleConfiguration) -> some View {
        configuration.label
            .frame(width: 48)
            .padding(EdgeInsets(top: 3, leading: 4, bottom: 3, trailing: 4))
            .background(selected ? .green : .red)
            .cornerRadius(14)
    }
}

struct TestView: View {
    @AppStorage("test") var test = 1
    var body: some View {
        HStack {
            Button(test == 1 ? "Yes" : "No") { test = 1 }
                .buttonStyle(TestButton(selected: test == 1))
            Button(test == 2 ? "Yes" : "No") { test = 2 }
                .buttonStyle(TestButton(selected: test == 2))
            Button(test == 3 ? "Yes" : "No") { test = 3 }
                .buttonStyle(TestButton(selected: test == 3))
        }
//      .id(UUID())     //  trying to avoid this
        .padding()
    }
}

A variável testé definida pelos botões, e eu quero que ela altere a aparência do botão. O teste test == …funciona corretamente, pois o texto alterna entre Yese No. No entanto, quando eu o uso com o selectedparâmetro, ele não altera nada. Ele define o valor quando a visualização é carregada pela primeira vez, mas não atualiza.

A variável na exibição usa @AppStorage, mas tentei com @Statee obtive os mesmos resultados.

Sei que posso fingir adicionando .id(UUID()), mas não tenho certeza se é a melhor abordagem.

Como posso atualizar o ButtonStyle?

swiftui
  • 1 respostas
  • 59 Views
Martin Hope
Manngo
Asked: 2024-02-05 06:08:46 +0800 CST

Teste se um diretório foi criado em Swift

  • 5

De acordo com a documentação, createDirectorypode gerar um erro se algo der errado. No entanto, o valor de retorno é:

true se o diretório foi criado, true se createIntermediates estiver configurado e o diretório já existir ou false se ocorreu um erro.

Quero testar se um diretório foi criado ou se já existe. Achei que algo como o seguinte serviria:

do {
    let dirOK = try fileManager.createDirectory(atPath: toDirectory, withIntermediateDirectories: true)
    if dirOK {
        print("ok")
    }
    else {
        print("no")
    }
}
catch let error as NSError {
    print(error)
}

No entanto, recebo a mensagem de erro:

Não é possível converter o valor do tipo '()' para o tipo de condição esperado 'Bool'

Como posso verificar se um diretório foi realmente criado?

swift
  • 1 respostas
  • 25 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve