приставка для сохранения событий, повторный выбор / подключение для подписки на них ( https://github.com/reduxjs/reselect#connecting-a-selector-to-the-redux-store ) [112 ]
import { connect } from 'react-redux'
import { toggleTodo } from '../actions'
import TodoList from '../components/TodoList'
import { getVisibleTodos } from '../selectors'
const mapStateToProps = (state) => {
return {
todos: getVisibleTodos(state)
}
}
const mapDispatchToProps = (dispatch) => {
return {
onTodoClick: (id) => {
dispatch(toggleTodo(id))
}
}
}
const VisibleTodoList = connect(
mapStateToProps,
mapDispatchToProps
)(TodoList)
export default VisibleTodoList
Теперь у вас есть подписанное событие в качестве опоры в компоненте, компонент будет перерисовываться только при изменении опоры. Нет необходимости в mustComponentUpdate, поскольку ваш компонент не должен прослушивать весь магазин, он получит только ту часть магазина, которую вы определили в селекторе.
Чтобы получить результаты в поток, запрос должен включать «FOR XML AUTO». Также измените текст adExecuteStream на постоянное значение 1024.
Полный код:
Dim myStream, myConnection, myCommand
Set myStream = CreateObject("ADODB.Stream")
Set myConnection = CreateObject("ADODB.Connection")
Set myCommand = CreateObject("ADODB.Command")
myConnection.Open "Provider=SQLOLEDB;Integrated Security=SSPI;" & _
"Persist Security Info=False;Initial Catalog=DSIPAR;Data Source=.\DSIDATA"
myCommand.ActiveConnection=myConnection
myCommand.CommandText="SELECT itemsgt,item FROM NIFItem FOR XML AUTO"
myStream.Open
myCommand.Properties("Output Stream") = myStream
myCommand.Properties("xml root") = "root"
myCommand.Execute ,,1024 'instead of adExecuteStream
myStream.Position=0
myStream.Charset="ISO-8859-1"
Dim strxml
strxml = myStream.ReadText
MsgBox (strxml)
Если вам не нужен поток и вместо этого вы хотите читать значения itemsgt и item, попробуйте следующее:
Dim myStream, myConnection, myCommand, adoRec
Set myStream = CreateObject("ADODB.Stream")
Set myConnection = CreateObject("ADODB.Connection")
Set myCommand = CreateObject("ADODB.Command")
myConnection.Open "Provider=SQLOLEDB;Integrated Security=SSPI;" & _
"Persist Security Info=False;Initial Catalog=DSIPAR;Data Source=.\DSIDATA"
myCommand.ActiveConnection=myConnection
myCommand.CommandText="SELECT itemsgt,item FROM NIFItem"
SET adoRec = myCommand.Execute()
'Get the first results
If Not adoRec.EOF then
MsgBox "itemsgt = " & adoRec(0) & vbcrlf & "item=" & adoRec(1)
End If
'Iterate through the results
While Not adoRec.EOF
itemsgt = adoRec(0)
item = adoRec(1)
'MsgBox "itemsgt = " & itemsgt & vbcrlf & "item=" & item
adoRec.MoveNext
Wend