COMANDO SQL

MGALDINO 31/10/2011 10:18:58
#388164
Pessoal bom dia,

Antes no VB6 montava o seguinte comando e executava numa boa.


BEGIN TRAN

UPDATE TB_TAL SET CAMPO = [ô]TESTE[ô] WHERE CAMPO2 = 11

INSERT INTO TABELA (CODIGO,NOME...) VALUES (1,[ô]JOAO[ô]...)

IF @@ERROR > 0
ROLLBACK TRAN
ELSE
COMMIT TRAN

COMO POSSO EXECUTAR ESSE COMANDO NO C#?
PHOENIX209E 31/10/2011 10:42:24
#388167
using System.Data.SqlClient;
using System.Data;

private SqlConnection Con = new SqlConnection([Ô]SUA_STRING[Ô]);

public void Insere()
{
using (SqlCommand comando = new SqlCommand([Ô]INSERT INTO.....[Ô],Con))
{
int contador = comando.ExecuteNonQuery();
if (contador > 0)
{
MessageBox.Show([Ô]Comando executado com sucesso![Ô]);
}
else
{
MessageBox.Show([Ô]O comando nao foi executado![Ô]);
}
}
}
MGALDINO 31/10/2011 11:53:23
#388175
Então amigo obrigado mais isso eu sei executar um comando normal.

Mais quando vou executar da seguinte forma passada anteriormente, com Begin Tran, Commit Tran e Rollback Tran na mesma string da erro.

Não tenho como passar o erro agora pois nao estou mexendo com C# nesse momento.

Mais a duvida é gostaria de ter Begin Tran, Commit Tran e Rollback Tran na minha string SQL.

Mais esta dando erro.
LUIZCOMINO 31/10/2011 14:32:20
#388193
Resposta escolhida
fala ai meu camarada tenta assim,
crie um botão com a conexão faça o teste


classes para importar
using System.Data;
using System.Data.SqlClient;







protected void Button4_Click(object sender, EventArgs e)
{
CM.Connection = CN;
CN.Open();
Tran = CN.BeginTransaction();
CM.Transaction = Tran;

try
{
CM.CommandText = [Ô]Insert Into Clientes(Codigo,Nome,Endereco,Idade) [Ô] +
[Ô]Values[Ô] +
[Ô](76,[ô]teste[ô],[ô]casa c[ô],15)[Ô];



CM.ExecuteNonQuery();
Tran.Commit();
Response.Write([Ô]Ok[Ô]);

}
catch
{

Tran.Rollback();
Response.Write([Ô]Deu pau!!![Ô]);

}



}


abraço mano!
LUIZCOMINO 31/10/2011 14:48:40
#388196
opa faltou declarar o tipo da variavel Tran:

ficaria assim





protected void Button4_Click(object sender, EventArgs e)
{
SqlTransaction Tran;
CM.Connection = CN;
CN.Open();
Tran = CN.BeginTransaction();
CM.Transaction = Tran;

try
{
CM.CommandText = [Ô]Insert Into Clientes(Codigo,Nome,Endereco,Idade) [Ô] +
[Ô]Values[Ô] +
[Ô](76,[ô]teste[ô],[ô]casa c[ô],15)[Ô];



CM.ExecuteNonQuery();
Tran.Commit();
Response.Write([Ô]Ok[Ô]);

}
catch
{

Tran.Rollback();
Response.Write([Ô]Deu pau!!![Ô]);

}



}
MGALDINO 31/10/2011 15:33:03
#388203
E ai Luiz de boa mano?

Dessa forma eu ja fiz me deu algum problema, mais foi pela estrutura da minha classe.

Eu gostaria mesmo que houvesse um modo mais simples mesmo, tudo em uma instrução somente e executar!

Quando chegar em casa vou fazer dessa forma e qualquer problema mando aqui novamente!


Abraço mano!
Tópico encerrado , respostas não são mais permitidas