Skip to content

Commit 2139bd0

Browse files
committed
Support (var)binary data types Azure-Player#6
1 parent c82af5c commit 2139bd0

3 files changed

Lines changed: 22 additions & 4 deletions

File tree

Properties/AssemblyInfo.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
[assembly: AssemblyConfiguration("")]
1010
[assembly: AssemblyCompany("SQLPlayer")]
1111
[assembly: AssemblyProduct("Data Script Writer")]
12-
[assembly: AssemblyCopyright("Copyright © Kamil Nowinski 2018")]
12+
[assembly: AssemblyCopyright("Copyright © Kamil Nowinski 2018-2020")]
1313
[assembly: AssemblyTrademark("")]
1414
[assembly: AssemblyCulture("")]
1515

@@ -31,5 +31,5 @@
3131
// You can specify all the values or you can default the Build and Revision Numbers
3232
// by using the '*' as shown below:
3333
// [assembly: AssemblyVersion("1.0.*")]
34-
[assembly: AssemblyVersion("2.0.0.0")]
35-
[assembly: AssemblyFileVersion("2.0.0.0")]
34+
[assembly: AssemblyVersion("2.1.0.0")]
35+
[assembly: AssemblyFileVersion("2.1.0.0")]

ScriptWriter.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,10 @@ private StringBuilder SerializeRowValues(DataRow row, DataTable colInfoTable, st
151151
case "bit":
152152
v = ((bool)row[col]) == true ? "1" : "0";
153153
break;
154+
case "binary":
155+
case "varbinary":
156+
v = "0x" + ByteArrayToHex((byte[])row[col]);
157+
break;
154158
default:
155159
throw new Exception("Unknown SQL data type! (" + sqltype + ")");
156160
}
@@ -161,6 +165,20 @@ private StringBuilder SerializeRowValues(DataRow row, DataTable colInfoTable, st
161165
return sb;
162166
}
163167

168+
private string ByteArrayToHex(byte[] barray)
169+
{
170+
char[] c = new char[barray.Length * 2];
171+
byte b;
172+
for (int i = 0; i < barray.Length; ++i)
173+
{
174+
b = ((byte)(barray[i] >> 4));
175+
c[i * 2] = (char)(b > 9 ? b + 0x37 : b + 0x30);
176+
b = ((byte)(barray[i] & 0xF));
177+
c[i * 2 + 1] = (char)(b > 9 ? b + 0x37 : b + 0x30);
178+
}
179+
return new string(c);
180+
}
181+
164182
private string getSelectStatement(DataTable colInfoTable, ScriptObject so)
165183
{
166184
StringBuilder sb = new StringBuilder("SELECT ");

frmMain.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ private void btnConnect_Click(object sender, EventArgs e)
3333

3434
private void Connect()
3535
{
36-
ConnectDbForm f = new ConnectDbForm("SQLPlayer", "Data Generator");
36+
ConnectDbForm f = new ConnectDbForm("SQLPlayer", "Data Script Writer");
3737
f.ShowDialog();
3838
if (f.DialogResult == DialogResult.OK)
3939
{

0 commit comments

Comments
 (0)