CRIAR TABELAS COM SQL EM ADO

LIONDAS 28/07/2005 10:47:32
#96373
Olá pessoal, depois de meses sumido estou de volta, mas com algumas duvidas !

Bom, nos meus projetos antigos eu utilizava o DAO para manipular o banco de dados e costumava criar minhas tabelas em tempo de execução utilizando comandos sql: ex:

dados.Execute "CREATE TABLE Departamentos ( CODIGO INTEGER ), CONSTRAINT CODIGO PRIMARY KEY (CODIGO )"
dados.Execute "ALTER TABLE Departamentos ADD COLUMN DESCRICAO TEXT( 30)"

Agora preciso criar minhas tabelas usando ADO. Acontece que estes comandos acima não são compatíveis com o ADO. ( Microsoft fdp !!! ). Existem outras formas de criar as tabelas, eu já até peguei exemplos, mas queria usar da menaira que já utilizava, ou seja atraves de comandos SQL. A pergunta é a seguinte como é a nova sintaxe? posso usar em Access, SQLServer, etc ? Onde posso encontrar material para estudo destes comandos. (apostila, help, etc)

Segue um exemplo abaixo, mas só tenho este exemplo...

ALTER TABLE CLIENTES ADD FGORIGEM VARCHAR(5)

Valeu...
WEBMASTER 28/07/2005 12:31:49
#96398
Resposta escolhida
Liondas,

Rapaz, tú sumiu mesmo !?!?
Bom, o ADO suporta este tipo de SQL sem nenhum problema, porém alguns tipos de dados são alterados mesmo.

Alguns exemplos abaixo:

Connection.Execute "ALTER TABLE myTable ADD COLUMN textField20 VARCHAR(255) NULL;"
Connection.Execute "ALTER TABLE myTable ADD COLUMN textField20 STRING(255) NULL;"
Connection.Execute "ALTER TABLE myTable ADD COLUMN textField20 ALPHANUMERIC(255) NULL;"
Connection.Execute "ALTER TABLE myTable ADD COLUMN textField20 CHARACTER(255) NULL;"


Private Sub Command1_Click()
Dim db_file As String
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim num_records As Integer

db_file = App.Path
If Right$(db_file, 1) <> "\" Then db_file = db_file & _
"\"
db_file = db_file & "People.mdb"

' Open a connection.
Set conn = New ADODB.Connection
conn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & db_file & ";" & _
"Persist Security Info=False"
conn.Open

' Drop the Employees table if it already exists.
On Error Resume Next
conn.Execute "DROP TABLE Employees"
On Error GoTo 0

conn.Execute "CREATE TABLE Employees(" & _
"EmployeeId INTEGER NOT NULL," & _
"LastName VARCHAR(40) NOT NULL," & _
"FirstName VARCHAR(40) NOT NULL)"

conn.Execute "INSERT INTO Employees VALUES (1, 'Anderson', 'Amy')"
conn.Execute "INSERT INTO Employees VALUES (1, 'Baker', 'Betty')"
conn.Execute "INSERT INTO Employees VALUES (1, 'Cover', 'Chauncey')"
Set rs = conn.Execute("SELECT COUNT (*) FROM Employees")
num_records = rs.Fields(0)
conn.Close
End Sub


LIONDAS 29/07/2005 09:25:15
#96535
Olá WEBMASTER !

Tive uma reviravolta em minha vida, mudei de estado 3 vezes, sai do meu antigo trampo e acabei voltando e abrindo minha propria empresa. E agora vou ser papai hehehehehe
Mó loucura, mas preciso relaxar e voltar a contribuir com o Vbmania.

Valeu pela dica, pois acho melhor usar este tipo de código. Alias achei na net um manual de sql para o Postgre e dá para adaptar bem ao que preciso. Sehue o link:

http://www.postgresql.org.br/referencia/

Abraços...
Tópico encerrado , respostas não são mais permitidas