Skip to content

Commit 67294e1

Browse files
authored
Merge pull request wankdanker#22 from markdirish/add-buffer-support
Adding support for Node.js Buffer class to send binary data
2 parents 9882232 + 48595b9 commit 67294e1

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/odbc.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,13 @@ void ODBC::StoreBindValues(Napi::Array *values, Parameter **parameters) {
518518
} else if (value.IsBoolean()) {
519519
parameter->ValueType = SQL_C_BIT;
520520
parameter->ParameterValuePtr = new bool(value.As<Napi::Boolean>().Value());
521+
} else if (value.IsBuffer()) {
522+
Napi::Buffer<SQLCHAR> bufferValue = value.As<Napi::Buffer<SQLCHAR>>();
523+
parameter->ValueType = SQL_C_BINARY;
524+
parameter->BufferLength = bufferValue.Length();
525+
parameter->ParameterValuePtr = new SQLCHAR[parameter->BufferLength];
526+
parameter->StrLen_or_IndPtr = parameter->BufferLength;
527+
memcpy((SQLCHAR *) parameter->ParameterValuePtr, bufferValue.Data(), parameter->BufferLength);
521528
} else if (value.IsArrayBuffer()) {
522529
Napi::ArrayBuffer arrayBufferValue = value.As<Napi::ArrayBuffer>();
523530
parameter->ValueType = SQL_C_BINARY;

0 commit comments

Comments
 (0)