123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <script>
- public string GetLengthText(ColumnSchema column)
- {
- string result = string.Empty;
- switch(column.DataType)
- {
- case "char":
- case "varchar":
- case "nchar":
- case "nvarchar":
- result = "(" + column.Length.ToString() + ")";
- break;
-
- default:
- break;
- }
-
- return result;
- }
-
-
- private string GetScript(ColumnSchema column)
- {
- if (column == null) return string.Empty;
- string result = string.Empty;
- if (column.AllowDBNull == true)
- {
- switch (column.EnterpriseLibraryDataType)
- {
- case "DbType.String":
- result = string.Format("row[\"{0}\"] = string.IsNullOrEmpty(item.{0}) ? DBNull.Value : (object)item.{0};", column.AliasColumnName);
-
- break;
- default:
- result = string.Format("row[\"{0}\"] = item.{0}.HasValue ? (object)item.{0} : DBNull.Value;", column.AliasColumnName);
- break;
- }
- }
- else
- {
- result = string.Format("row[\"{0}\"] = item.{0};", column.AliasColumnName);
- }
- return result;
- }
-
-
-
-
-
-
-
- </script>
-
- <% foreach (ColumnSchema column in Table.Columns) {
- switch(column.CSDataType){
- case "DateTime": %>
- <%= column.AliasName %> = row.Field<<%= column.CSDataType %>>("<%= column.AliasName %>").ToString("yyyy-MM-dd"), <%
- break;
- case "DateTime?": %>
- <%= column.AliasName %> = row.Field<<%= column.CSDataType %>>("<%= column.AliasName %>").HasValue ? row.Field<<%= column.CSDataType %>>("<%= column.AliasName %>").Value.ToString("yyyy-MM-dd") : string.Empty, <%
- break;
- default: %>
- <%= column.AliasName %> = row.Field<<%= column.CSDataType %>>("<%= column.AliasName %>"), <% break; } } %>
-
-
-
-
-
- DbCommand deletedCommand = conn.CreateCommand();
- deletedCommand.CommandText = "DELETE FROM <%= Table.aliasName %>";
- deletedCommand.ExecuteNonQuery();
- DbCommand insertedCommand = conn.CreateCommand();
- insertedCommand.CommandText = "<%= Table.SqlBuilder.GetInsertCommandText(true) %>";
- <% foreach (ColumnSchema column in Table.Columns) { %>
- insertedCommand.Parameters.Add(new SQLiteParameter("<%= column.AliasName %>")); <% } %>
- int affectedRecords = 0;
- foreach (var item in list)
- {
- <% foreach (ColumnSchema column in Table.Columns) { %>
- insertedCommand.Parameters["<%= column.AliasName %>"].Value = item.<%= column.AliasName %>; <% } %>
-
- affectedRecords += insertedCommand.ExecuteNonQuery();
- }
- return affectedRecords;
-
-
- <% foreach (ColumnSchema column in Table.Columns) { %>
- <%= GetScript(column) %> <% } %>
-
-
-
-
-
-
-
-
-
-
-
-
|