Click here to Skip to main content
15,888,610 members
Home / Discussions / C#
   

C#

 
AnswerRe: Solid color image vs Panel with BackColor Pin
OriginalGriff9-Dec-15 5:48
mveOriginalGriff9-Dec-15 5:48 
GeneralRe: Solid color image vs Panel with BackColor Pin
David Sattler9-Dec-15 5:52
David Sattler9-Dec-15 5:52 
Questionhow to fill the cells of a DataGridView directly Pin
Member 114494479-Dec-15 1:49
Member 114494479-Dec-15 1:49 
AnswerRe: how to fill the cells of a DataGridView directly Pin
Richard MacCutchan9-Dec-15 2:37
mveRichard MacCutchan9-Dec-15 2:37 
GeneralRe: how to fill the cells of a DataGridView directly Pin
Member 114494479-Dec-15 3:58
Member 114494479-Dec-15 3:58 
GeneralRe: how to fill the cells of a DataGridView directly Pin
Richard Deeming9-Dec-15 4:02
mveRichard Deeming9-Dec-15 4:02 
GeneralRe: how to fill the cells of a DataGridView directly Pin
Member 114494479-Dec-15 4:30
Member 114494479-Dec-15 4:30 
GeneralRe: how to fill the cells of a DataGridView directly Pin
Richard Deeming9-Dec-15 4:44
mveRichard Deeming9-Dec-15 4:44 
Member 11449447 wrote:
Which query is vulnerable to injection?

Take a guess!
Member 11449447 wrote:
string  Commandtext = "insert into lojas (NIF,loja,Bloqueado,DataFim,lastupdate,Nome) values ('" + NIF + "', " + loja + "," + bloqueador + ",'" + DataFim + "','" + lastupdate + "','" + Nome + "')";
OdbcCommand cm2 = new OdbcCommand(Commandtext, con);

NEVER use string concatenation to build a SQL query. ALWAYS use a parameterized query.

The OdbcCommand uses positional, not named, parameters. You have to use ? as the parameter placeholder in the query, and add the parameters in the same order as they appear in the query.
C#
using (OdbcConnection connection = CreateConnection())
using (OdbcCommand command = new OdbcCommand("insert into lojas (NIF, Loja, bloqueado, DataFim, lastupdate, Nome) values (?, ?, ?, ?, ?, ?)", connection))
{
   command.CommandType = CommandType.Text;
 
   // Parameter names don't matter here; only the order:
   command.Parameters.AddWithValue("NIF", grid_lic.CurrentRow.Cells[1].Value);
   command.Parameters.AddWithValue("Loja", grid_lic.CurrentRow.Cells[2].Value);
   command.Parameters.AddWithValue("Bloqueado", checkBox_bloq.Checked);
   command.Parameters.AddWithValue("DataFim", grid_lic.CurrentRow.Cells[4].Value);
   command.Parameters.AddWithValue("lastupdate", grid_lic.CurrentRow.Cells[5].Value);
   command.Parameters.AddWithValue("Nome", grid_lic.CurrentRow.Cells[6].Value);
   
   connection.Open();
   command.ExecuteNonQuery();
}


As to your original problem: you're storing the OdbcConnection instance in a field, which is a bad idea. Your BD_Conexao method is creating and opening a new connection, but only stores it in a local variable. The field is never updated, so your bt_preencher_Click method is unable to use that field.

Remove the field, and use a method which creates and returns the connection object instead:
C#
private static OdbcConnection CreateConnection()
{
    return new OdbcConnection("driver= {MySQL ODBC 5.1 Driver};server=xxxxx; database=lic; uid=es; password=1234; option = 3 ");
}

public void Consulta()
{
    using (OdbcConnection connection = CreateConnection())
    using (OdbcCommand command = new OdbcCommand("SELECT Id, NIF, Loja, Bloqueado, DataFim, lastupdate, Nome FROM lojas", connection))
    {
        ...
    }
}

private void bt_preencher_Click(object sender, EventArgs e)
{
    using (OdbcConnection connection = CreateConnection())
    using (OdbcCommand command = new OdbcCommand("insert into lojas (NIF, Loja, bloqueado, DataFim, lastupdate, Nome) values (?, ?, ?, ?, ?, ?)", connection))
    {
        ...
    }
}




"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer


GeneralRe: how to fill the cells of a DataGridView directly Pin
Member 114494479-Dec-15 6:37
Member 114494479-Dec-15 6:37 
QuestionChild Window Form does not show color scheme on gridview Pin
Member 121312778-Dec-15 23:39
Member 121312778-Dec-15 23:39 
SuggestionRe: Child Window Form does not show color scheme on gridview Pin
Richard MacCutchan9-Dec-15 0:13
mveRichard MacCutchan9-Dec-15 0:13 
Questionc# for android Pin
eng_aza8-Dec-15 14:03
eng_aza8-Dec-15 14:03 
AnswerRe: c# for android Pin
Dave Kreskowiak8-Dec-15 15:27
mveDave Kreskowiak8-Dec-15 15:27 
AnswerRe: c# for android Pin
BillWoodruff8-Dec-15 16:14
professionalBillWoodruff8-Dec-15 16:14 
AnswerRe: c# for android Pin
Hari-CodeBlogger11-Dec-15 23:44
Hari-CodeBlogger11-Dec-15 23:44 
QuestionTransfer data from Dataset to Report Viewer Pin
PDTUM8-Dec-15 8:32
PDTUM8-Dec-15 8:32 
AnswerRe: Transfer data from Dataset to Report Viewer Pin
Gerry Schmitz8-Dec-15 12:29
mveGerry Schmitz8-Dec-15 12:29 
GeneralRe: Transfer data from Dataset to Report Viewer Pin
PDTUM8-Dec-15 12:53
PDTUM8-Dec-15 12:53 
GeneralRe: Transfer data from Dataset to Report Viewer Pin
Gerry Schmitz8-Dec-15 13:29
mveGerry Schmitz8-Dec-15 13:29 
GeneralRe: Transfer data from Dataset to Report Viewer Pin
PDTUM8-Dec-15 14:14
PDTUM8-Dec-15 14:14 
QuestionIncomplete data after trapping Date Pin
Robert Kamarowski8-Dec-15 5:38
Robert Kamarowski8-Dec-15 5:38 
AnswerRe: Incomplete data after trapping Date Pin
Richard Deeming8-Dec-15 6:11
mveRichard Deeming8-Dec-15 6:11 
GeneralRe: Incomplete data after trapping Date Pin
Robert Kamarowski8-Dec-15 6:18
Robert Kamarowski8-Dec-15 6:18 
GeneralRe: Incomplete data after trapping Date Pin
OriginalGriff8-Dec-15 6:37
mveOriginalGriff8-Dec-15 6:37 
GeneralRe: Incomplete data after trapping Date Pin
Dave Kreskowiak8-Dec-15 7:43
mveDave Kreskowiak8-Dec-15 7:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.