У меня есть проект CLS-Compliant, за исключением одного объявления переменной, которое меня путает, как исправить.Как сделать общедоступным MySQLDataReader CLS-совместимым?
У меня есть класс, называемый MySQL, подытожил он выглядит следующим образом:
public class mysql
implements idisposable
private connection as new mysqlconnection
private command as new mysqlcommand
<CLSCompliant(false)> public reader as mysqldatareader
public sub new(byval query as string)
if connection.state = connectionstate.open then
connection.connectionstring = my.settings.connectionstring
connection.open()
command.connection = connection
command.commandtext = query
end sub
public sub parameters(byval name as string, byval value as string)
command.parameters.addwithvalue(name, value)
end sub
public sub retrieve()
reader = command.executereader()
end sub
public sub send()
command.executenonquery()
end sub
public sub close()
if me.command.connection.state = connectionstate.open then me.command.connection.close
if me.connection.state = connectionstate.open then me.connection.close
me.dispose()
end sub
#region "IDisposable support"
private disposedvalue as boolean
protected overridable sub dispose(disposing as boolean)
if not me.disposedbalue then
if disposing then
#dispose maaged state
end if
connection.dispose()
command.dispose()
reader = nothing
end if
me.disposedvalue = true
end sub
public sub dispose() implement idisposable.dispose
dispose(true)
gc.suppressfinalize(me)
end sub
#end region
end class
использование:
dim sql as new MySQL("SELECT * FROM TABLE WHERE NAME = ?Name")
sql.parameters("?Name", me.textboxusername.text)
call sql.retrieve()
while sql.reader.read
text = sql.reader.getstring(sql.readergetordinal("User_Name")
end while
call sql.close()
Общественный читатель, как MySQLDataReader не CLS-совместимый и я не знаю, как исправить проблема. Я обновил до последней версии соединителя данных mysql. Мне интересно, должен ли я сделать его частной переменной и прочитать результаты, бросил функцию?
Приносим извинения за пропущенную прописку, пропущенную прописку и т. Д. В следующем фрагменте кода, я набрал его во время просмотра его с удаленного подключения к рабочему столу.
Как это будет работать для извлечения моих данных в различные функции? Т.е.: reader.getstring.getordinal ("columnname")? – Jeff
I delclare by sql как новый mysql ("select whatever") .. mysql.retrieve .. while reader.read ... Text = sql.reader.getstring (sql.reader.getordinal ("column")) – Jeff
Я отредактировал мой первоначальный вопрос, чтобы включить полный класс - у меня он настроен таким образом, чтобы передавать параметры. – Jeff