func (conn *Connection) Prepare(sql string, params ...interface{}) (*Statement, *ODBCError) { wsql := StringToUTF16Ptr(sql) stmt, err := conn.newStmt() if err != nil { return nil, err } ret := C.SQLPrepareW(C.SQLHSTMT(stmt.handle), (*C.SQLWCHAR)(unsafe.Pointer(wsql)), C.SQLINTEGER(len(sql))) if !Success(ret) { err := FormatError(C.SQL_HANDLE_STMT, stmt.handle) stmt.Close() return nil, err } stmt.prepared = true return stmt, nil }
func SQLPrepare(statementHandle SQLHSTMT, statementText *SQLWCHAR, textLength SQLINTEGER) (ret SQLRETURN) { r := C.SQLPrepareW(C.SQLHSTMT(statementHandle), (*C.SQLWCHAR)(unsafe.Pointer(statementText)), C.SQLINTEGER(textLength)) return SQLRETURN(r) }