vb.NET에서 긴 MySQL 명령을 보내려고했습니다. MySQL 명령 문자열의 일부로 변수를 사용하려면 "&"을 사용하여 문자열을 연결했습니다.vb.NET "{0}"연결은 MySQL 명령에서는 작동하지 않지만 "&"는
이 작동하지만, 내 코드가 지저분 해 보이게, 그래서 나는 "{0}, {1}"등
이 그러나 작동하지 않습니다 사용하여 시도와 나는 오류 얻을 :
을Overload resolution failed because no accessible 'New' accepts this number of arguments.
예 :
connector.Open()
commander = New MySqlCommand("UPDATE 'pupil_data' SET '" & Question & "'='" & Answer & "' WHERE 'username'=" & Environment.UserName & ";", connector)
dataAdapter = New MySqlDataAdapter(commander)
connector.Close()
이것은 그러나, 작동 :
connector.Open()
commander = New MySqlCommand(("UPDATE 'pupil_data' SET '{0}'='{1}' WHERE 'username'='{2}'", Question, Answer, Environment.Username), connector)
dataAdapter = New MySqlDataAdapter(commander)
connector.Close()
작동하지 않습니다. 내 브라케팅에 문제가 될 수 있지만 여러 가지 조합을 시도했으며 논리적으로는 소리가났습니다 (제 생각에는).
문자열은 자동으로 형식 마스크를 사용하지 않습니다. 당신은'String.Format ("UPDATE pupil_data ...", arg1, arg2 ...)'마스크를 사용하고 결과를 얻기위한 args를 사용해야한다. 그것을 새 SQLCommand 안에 넣거나 temp var에 문자열을 만들고 전달하십시오 – Plutonix
마스크로 무엇을 의미하는지 잘 모르겠습니다. 당신은 명확히 할 수 있습니까? – 08robertsj
이것은 90 명 파티가 아닙니다. 오늘 * (어제) * 준비/매개 변수화 된 문 사용 : [매개 변수화 된 SQL 쿼리는 어떻게 작성합니까? 왜해야합니까?] (http://stackoverflow.com/questions/542510/how-do-i-create-a-parameterized-sql-query-why-should-i/542542#comment44610013_542542). –