Visual Studio 2008, Windows Form, ligação à BD
|
24-02-2009, 04:00
Mensagem: #1
|
|||
|
|||
Visual Studio 2008, Windows Form, ligação à BD
Boas pessoal,
Estou a fazer um programa em Visual Studio 2008, mais propriamente Windows Form(c#). Surgiu-me agora um problema, não sei como inserir dados na BD.A BD é a que o Visual Studio usa por defeito. Se imaginarmos que a BD se chama "bd_ola" e caso seja preciso, se encontra na pasta "c:\ola\", como faço para inserir dados? por exemplo DataGridView, por textBox+botão...qualquer forma serve, logo que dê para inserir.. |
|||
24-02-2009, 15:55
Mensagem: #2
|
|||
|
|||
RE: Visual Studio 2008, Windows Form, ligação à BD
|
|||
24-02-2009, 20:29
Mensagem: #3
|
|||
|
|||
RE: Visual Studio 2008, Windows Form, ligação à BD
(24-02-2009 15:55)tbogas Escreveu: Aqui estão uns links que podem ajudar. estou a fazer um programa ao lado para ver se consigo gravar algo na bd, estou a fazer assim Código (C#): [Select] private void button1_Click(object sender, EventArgs e) { String cs="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"; String comando="insert into pessoas values(10,'miguel');"; CreateCommand(comando,cs); } private static void CreateCommand(string queryString,string connectionString) { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Connection.Open(); command.ExecuteNonQuery(); } } Acham que é por aqui?Agora está me dar erro na connectionString sempre à frente das \, o erro é "Unrecognized escape sequence" |
|||
25-02-2009, 00:32
Mensagem: #4
|
|||
|
|||
RE: Visual Studio 2008, Windows Form, ligação à BD
(24-02-2009 20:29)klisman Escreveu: Acham que é por aqui?Agora está me dar erro na connectionString sempre à frente das \, o erro é "Unrecognized escape sequence" experimenta a mudar de '\' para '/' |
|||
25-02-2009, 03:34
Mensagem: #5
|
|||
|
|||
RE: Visual Studio 2008, Windows Form, ligação à BD
tinha ou colocar \\ ou antes da string colocar @
já está consigo ter ligação com a BD. Mas agora surgiu outro problema e espero que seja o último. Tenho numa tabela alguns dados inseridos à unha, numa opção que se chama "Show Table Data", inseri lá alguns dados. Também tenho uma gridview que me mostra os dados dessa tal tabela. Agora sempre que insiro ou apago algo da tabela a actualização aparece na GridView, mas sempre que vou à "Show Table Data" está tudo exactamente igual. Quando desligo o programa e corro de novo fica como se não tivesse feito nada... O que me parece é que ele faz o comando mas não faz o commit...que dizem? |
|||
25-02-2009, 11:44
(Esta mensagem foi modificada pela última vez a: 25-02-2009 11:45 por tbogas.)
Mensagem: #6
|
|||
|
|||
RE: Visual Studio 2008, Windows Form, ligação à BD
(25-02-2009 03:34)klisman Escreveu: Agora sempre que insiro ou apago algo da tabela a actualização aparece na GridView, mas sempre que vou à "Show Table Data" está tudo exactamente igual. Quando desligo o programa e corro de novo fica como se não tivesse feito nada... O que me parece é que ele faz o comando mas não faz o commit...que dizem? Vê la se isto ajuda link Se calhar o mais fácil era enviares um comando de COMMIT para a Base de Dados. cumps. |
|||
26-02-2009, 13:29
(Esta mensagem foi modificada pela última vez a: 26-02-2009 13:31 por klisman.)
Mensagem: #7
|
|||
|
|||
RE: Visual Studio 2008, Windows Form, ligação à BD
Continuo com o mesmo problema, consigo ver as alterações na GridView, mas no Show Table Data não aparecem as altereções e se eu reiniciar o Visual Studio as alterações que apareciam na GridView deixam de aparecer, mais uma vez parece me que é falta de confirmação da transacção, mas eu não posso usar commit; como comando directo pois dá me erro. O meu código é o seguinte:
connectionString="Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True"; private static void CreateCommand(string connectionString) { using (SqlConnection connection = new SqlConnection(connectionString)) { using (SqlCommand command =connection.CreateCommand()) { SqlTransaction transaction = null; try { // BeginTransaction() Requires Open Connection connection.Open(); transaction = connection.BeginTransaction(); // Assign Transaction to Command command.Transaction = transaction; // Execute 1st Command command.CommandText = "insert into pessoas values('miguel');"; command.ExecuteNonQuery(); transaction.Commit(); } catch { transaction.Rollback(); throw; } finally { connection.Close(); } } } } Alguém me pode ajudar? eu penso que este código já fazia o commit, mas afinal parece que nao |
|||
02-03-2009, 01:44
Mensagem: #8
|
|||
|
|||
RE: Visual Studio 2008, Windows Form, ligação à BD
Consegui pessoal
O que está mal é a connectionString. A que coloquei foi esta: [code=csharp]string connectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=D:\\Visual Studio 2008\\Projects\\testedb\\testedb\\Database1.mdf;Integrated Security=True; Connect Timeout=30;User Instance=True";[/code] pode colocar como resolvido |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 1 Visitante(s)