@@ -0,0 +1,11 @@ | |||
<?xml version="1.0" encoding="utf-8" ?> | |||
<configuration> | |||
<appSettings> | |||
<add key="TargetDBType" value="Oracle"/> | |||
<add key="InitalOperationPwd" value="123456"/> | |||
<add key="StartWebApiUrl" value="0"/> | |||
</appSettings> | |||
<startup> | |||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /> | |||
</startup> | |||
</configuration> |
@@ -0,0 +1,9 @@ | |||
<Application x:Class="CNAS_Authorize.App" | |||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
xmlns:local="clr-namespace:CNAS_Authorize" | |||
StartupUri="MainWindow.xaml"> | |||
<Application.Resources> | |||
</Application.Resources> | |||
</Application> |
@@ -0,0 +1,17 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Configuration; | |||
using System.Data; | |||
using System.Linq; | |||
using System.Threading.Tasks; | |||
using System.Windows; | |||
namespace CNAS_Authorize | |||
{ | |||
/// <summary> | |||
/// App.xaml 的交互逻辑 | |||
/// </summary> | |||
public partial class App : Application | |||
{ | |||
} | |||
} |
@@ -0,0 +1,123 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> | |||
<PropertyGroup> | |||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | |||
<ProjectGuid>{9B4A6989-A7A6-41C0-ADFE-D470EB972D79}</ProjectGuid> | |||
<OutputType>WinExe</OutputType> | |||
<AppDesignerFolder>Properties</AppDesignerFolder> | |||
<RootNamespace>CNAS_Authorize</RootNamespace> | |||
<AssemblyName>CNAS_Authorize</AssemblyName> | |||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion> | |||
<FileAlignment>512</FileAlignment> | |||
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> | |||
<WarningLevel>4</WarningLevel> | |||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> | |||
</PropertyGroup> | |||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | |||
<PlatformTarget>AnyCPU</PlatformTarget> | |||
<DebugSymbols>true</DebugSymbols> | |||
<DebugType>full</DebugType> | |||
<Optimize>false</Optimize> | |||
<OutputPath>bin\Debug\</OutputPath> | |||
<DefineConstants>DEBUG;TRACE</DefineConstants> | |||
<ErrorReport>prompt</ErrorReport> | |||
<WarningLevel>4</WarningLevel> | |||
</PropertyGroup> | |||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | |||
<PlatformTarget>AnyCPU</PlatformTarget> | |||
<DebugType>pdbonly</DebugType> | |||
<Optimize>true</Optimize> | |||
<OutputPath>bin\Release\</OutputPath> | |||
<DefineConstants>TRACE</DefineConstants> | |||
<ErrorReport>prompt</ErrorReport> | |||
<WarningLevel>4</WarningLevel> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<Reference Include="System" /> | |||
<Reference Include="System.Data" /> | |||
<Reference Include="System.Xml" /> | |||
<Reference Include="Microsoft.CSharp" /> | |||
<Reference Include="System.Core" /> | |||
<Reference Include="System.Xml.Linq" /> | |||
<Reference Include="System.Data.DataSetExtensions" /> | |||
<Reference Include="System.Net.Http" /> | |||
<Reference Include="System.Xaml"> | |||
<RequiredTargetFramework>4.0</RequiredTargetFramework> | |||
</Reference> | |||
<Reference Include="WindowsBase" /> | |||
<Reference Include="PresentationCore" /> | |||
<Reference Include="PresentationFramework" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ApplicationDefinition Include="App.xaml"> | |||
<Generator>MSBuild:Compile</Generator> | |||
<SubType>Designer</SubType> | |||
</ApplicationDefinition> | |||
<Page Include="MainWindow.xaml"> | |||
<Generator>MSBuild:Compile</Generator> | |||
<SubType>Designer</SubType> | |||
</Page> | |||
<Compile Include="App.xaml.cs"> | |||
<DependentUpon>App.xaml</DependentUpon> | |||
<SubType>Code</SubType> | |||
</Compile> | |||
<Compile Include="MachineAuth.cs" /> | |||
<Compile Include="MainWindow.xaml.cs"> | |||
<DependentUpon>MainWindow.xaml</DependentUpon> | |||
<SubType>Code</SubType> | |||
</Compile> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Compile Include="Properties\AssemblyInfo.cs"> | |||
<SubType>Code</SubType> | |||
</Compile> | |||
<Compile Include="Properties\Resources.Designer.cs"> | |||
<AutoGen>True</AutoGen> | |||
<DesignTime>True</DesignTime> | |||
<DependentUpon>Resources.resx</DependentUpon> | |||
</Compile> | |||
<Compile Include="Properties\Settings.Designer.cs"> | |||
<AutoGen>True</AutoGen> | |||
<DependentUpon>Settings.settings</DependentUpon> | |||
<DesignTimeSharedInput>True</DesignTimeSharedInput> | |||
</Compile> | |||
<EmbeddedResource Include="Properties\Resources.resx"> | |||
<Generator>ResXFileCodeGenerator</Generator> | |||
<LastGenOutput>Resources.Designer.cs</LastGenOutput> | |||
</EmbeddedResource> | |||
<None Include="Properties\Settings.settings"> | |||
<Generator>SettingsSingleFileGenerator</Generator> | |||
<LastGenOutput>Settings.Designer.cs</LastGenOutput> | |||
</None> | |||
<AppDesigner Include="Properties\" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Include="App.config"> | |||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | |||
</None> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\CnasSynchronousCommon\CnasSynchronousCommon.csproj"> | |||
<Project>{8E0E5F2E-2BA2-4952-9F31-34C072CD86B3}</Project> | |||
<Name>CnasSynchronousCommon</Name> | |||
</ProjectReference> | |||
<ProjectReference Include="..\CnasSynchronusClient\CnasSynchronusBLL.csproj"> | |||
<Project>{CB9B6D92-3CC4-46C6-92E8-A6FD0AD48041}</Project> | |||
<Name>CnasSynchronusBLL</Name> | |||
</ProjectReference> | |||
<ProjectReference Include="..\CnasSynchrousModel\CnasSynchrousModel.csproj"> | |||
<Project>{0C3243F5-729E-409C-B406-C6DE56E632E0}</Project> | |||
<Name>CnasSynchrousModel</Name> | |||
</ProjectReference> | |||
</ItemGroup> | |||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | |||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. | |||
Other similar extension points exist, see Microsoft.Common.targets. | |||
<Target Name="BeforeBuild"> | |||
</Target> | |||
<Target Name="AfterBuild"> | |||
</Target> | |||
--> | |||
</Project> |
@@ -0,0 +1,243 @@ | |||
using CnasSynchronusClient; | |||
using CnasSynchrousModel; | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Data; | |||
using System.Linq; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
using System.Windows; | |||
namespace CNAS_Authorize | |||
{ | |||
public class Machine | |||
{ | |||
public string FactoryName { get; set; } | |||
public string MachineCode { get; set; } | |||
public string ImportTime { get; set; } | |||
public bool IsGenerated { get; set; } | |||
public Machine(string name, string code, string time, bool isGen) | |||
{ | |||
FactoryName = name; | |||
MachineCode = code; | |||
ImportTime = time; | |||
IsGenerated = isGen; | |||
} | |||
} | |||
class MachineAuth | |||
{ | |||
/// <summary> | |||
/// 所有数据行 | |||
/// </summary> | |||
private List<Machine> m_machines; | |||
/// <summary> | |||
/// 编码过滤 | |||
/// </summary> | |||
private string m_filter_code; | |||
/// <summary> | |||
/// 名称过滤 | |||
/// </summary> | |||
private string m_filter_factory; | |||
//以下都是过滤过的数据 | |||
/// <summary> | |||
/// 过滤过的数据 | |||
/// </summary> | |||
private List<Machine> m_rangle; | |||
/// <summary> | |||
/// 过滤过的当前页 | |||
/// </summary> | |||
private List<Machine> m_page; | |||
/// <summary> | |||
/// 每页数量 | |||
/// </summary> | |||
private int m_pageSize; | |||
/// <summary> | |||
/// 页号 | |||
/// </summary> | |||
private int m_pageIndex; | |||
/// <summary> | |||
/// 总页数 | |||
/// </summary> | |||
private int m_pageCount; | |||
public MachineAuth() | |||
{ | |||
m_pageSize = 10; | |||
m_pageIndex = 1; | |||
} | |||
DataBaseInfo targetDataBase = new DataBaseInfo(); | |||
public void Load() | |||
{ | |||
//加载CNAS数据库配置 | |||
targetDataBase = FileOperation.GetLocalCnasDB(); | |||
if (!CnasDataOperationFact.CnasDataOperation().TestConnect(targetDataBase)) | |||
{ | |||
MessageBox.Show("CNAS数据库无法正常连接...", "提示"); | |||
return; | |||
} | |||
m_machines = new List<Machine>(); | |||
////1.加载数据 | |||
DataTable dtmacaddressinfo = CnasDataOperationFact.CnasDataOperation().GetTableData(targetDataBase, "select * from macaddress"); | |||
if (dtmacaddressinfo != null && dtmacaddressinfo.Rows.Count > 0) | |||
{ | |||
List<string> lstCnasTables = new List<string>(); | |||
foreach (DataRow dr in dtmacaddressinfo.Rows) | |||
{ | |||
Machine m = new Machine( dr["PLANTCODE"].ToString(), dr["MAC_ADDRESS"].ToString(), dr["CREATETIME"].ToString(), true); | |||
m_machines.Add(m); | |||
lstCnasTables.Add(dr["MAC_ADDRESS"].ToString()); | |||
} | |||
} | |||
m_rangle = new List<Machine>(); | |||
m_rangle.AddRange(m_machines); | |||
m_pageSize = 10; | |||
m_pageIndex = 1; | |||
m_pageCount = (m_rangle.Count / m_pageSize) + (m_rangle.Count % m_pageSize == 0 ? 0 : 1); | |||
m_page = getPageData(m_pageIndex); | |||
} | |||
public int PageSize | |||
{ | |||
get { return m_pageSize; } | |||
set | |||
{ | |||
m_pageSize = value; | |||
updateView(); | |||
} | |||
} | |||
public string CurrentPage | |||
{ | |||
get | |||
{ | |||
return m_pageCount == 0 ? "" : string.Format("{0} / {1}", m_pageIndex, m_pageCount); | |||
} | |||
set | |||
{ | |||
} | |||
} | |||
public int TotalCount | |||
{ | |||
get | |||
{ | |||
return m_machines == null ? 0 : m_machines.Count; | |||
} | |||
set | |||
{ | |||
} | |||
} | |||
private void updateView() | |||
{ | |||
List<Machine> view = new List<Machine>(); | |||
if (!string.IsNullOrEmpty(m_filter_code) || !string.IsNullOrEmpty(m_filter_factory)) | |||
{ | |||
foreach (Machine item in m_machines) | |||
{ | |||
bool flag = true; | |||
if (!string.IsNullOrEmpty(m_filter_code)) | |||
{ | |||
if (item.MachineCode.IndexOf(m_filter_code) == -1) | |||
{ | |||
flag = false; | |||
} | |||
} | |||
if (!string.IsNullOrEmpty(m_filter_factory)) | |||
{ | |||
if (item.FactoryName.IndexOf(m_filter_factory) == -1) | |||
{ | |||
flag = false; | |||
} | |||
} | |||
if (flag) | |||
{ | |||
view.Add(item); | |||
} | |||
} | |||
} | |||
else | |||
{ | |||
view.AddRange(m_machines); | |||
} | |||
m_rangle = view; | |||
m_pageIndex = 1; | |||
m_pageCount = (m_rangle.Count / m_pageSize) + (m_rangle.Count % m_pageSize == 0 ? 0 : 1); | |||
m_page = getPageData(m_pageIndex); | |||
} | |||
public void ChangeFilter(string code, string factory) | |||
{ | |||
this.m_filter_code = code; | |||
this.m_filter_factory = factory; | |||
updateView(); | |||
} | |||
public List<Machine> Page | |||
{ | |||
get | |||
{ | |||
return m_page; | |||
} | |||
} | |||
private List<Machine> getPageData(int pageIndex) | |||
{ | |||
int index = (pageIndex - 1) * m_pageSize; | |||
List<Machine> page = new List<Machine>(m_pageSize); | |||
for (int i = 0; i < m_pageSize && index < m_rangle.Count; i++) | |||
{ | |||
page.Add(m_rangle[index]); | |||
index++; | |||
} | |||
return page; | |||
} | |||
public List<Machine> NextPage(out bool ok) | |||
{ | |||
int index = m_pageIndex * m_pageSize; | |||
if (m_rangle == null || index >= m_rangle.Count) | |||
{ | |||
ok = false; | |||
return null; | |||
} | |||
m_pageIndex++; | |||
m_page = getPageData(m_pageIndex); | |||
ok = true; | |||
return m_page; | |||
} | |||
public List<Machine> PrevPage(out bool ok) | |||
{ | |||
if (m_pageIndex == 1 || m_rangle == null) | |||
{ | |||
ok = false; | |||
return null; | |||
} | |||
m_pageIndex--; | |||
m_page = getPageData(m_pageIndex); | |||
ok = true; | |||
return m_page; | |||
} | |||
} | |||
} |
@@ -0,0 +1,130 @@ | |||
<Window x:Class="CNAS_Authorize.MainWindow" | |||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | |||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | |||
xmlns:local="clr-namespace:CNAS_Authorize" | |||
mc:Ignorable="d" | |||
Title="取数端授权程序" Height="460" Width="805" Loaded="Window_Loaded" SizeChanged="Window_SizeChanged"> | |||
<DockPanel> | |||
<!--NORTH部分:固定高度,包含两个查询条件--> | |||
<Grid x:Name="northPanel" Margin="10" Height="60" DockPanel.Dock="Top"> | |||
<Grid.RowDefinitions> | |||
<RowDefinition Height="Auto"/> | |||
<RowDefinition Height="Auto"/> | |||
</Grid.RowDefinitions> | |||
<StackPanel Grid.Row="0" Orientation="Horizontal"> | |||
<Label x:Name="lbMachine" Content="机器识别码:" Width="100" /> | |||
<TextBox x:Name="edtMachine" Width="350" > | |||
<TextBox.Resources> | |||
<VisualBrush x:Key="HintText" TileMode="None" Opacity="0.5" Stretch="None" AlignmentX="Left"> | |||
<VisualBrush.Visual> | |||
<TextBlock FontStyle="Italic" Text="请输入机器识别码进行查询后在下方列表中下载对应激活码,如查询不到机器识别码则填写电厂名称后进行导入"/> | |||
</VisualBrush.Visual> | |||
</VisualBrush> | |||
</TextBox.Resources> | |||
<TextBox.Style> | |||
<Style TargetType="TextBox"> | |||
<Style.Triggers> | |||
<Trigger Property="Text" Value="{x:Null}"> | |||
<Setter Property="Background" Value="{StaticResource HintText}"/> | |||
</Trigger> | |||
<Trigger Property="Text" Value=""> | |||
<Setter Property="Background" Value="{StaticResource HintText}"/> | |||
</Trigger> | |||
</Style.Triggers> | |||
</Style> | |||
</TextBox.Style> | |||
</TextBox> | |||
<Button x:Name="btnQuery" Content="搜索" Width="60" Click="Query_Click" /> | |||
</StackPanel> | |||
<StackPanel Grid.Row="1" Orientation="Horizontal"> | |||
<Label Content="授权电厂名称:" Width="100" /> | |||
<TextBox x:Name="edtFactory" Width="350" > | |||
<TextBox.Resources> | |||
<VisualBrush x:Key="HintText" TileMode="None" Opacity="0.5" Stretch="None" AlignmentX="Left"> | |||
<VisualBrush.Visual> | |||
<TextBlock FontStyle="Italic" Text="请输入电厂名称,非必填"/> | |||
</VisualBrush.Visual> | |||
</VisualBrush> | |||
</TextBox.Resources> | |||
<TextBox.Style> | |||
<Style TargetType="TextBox"> | |||
<Style.Triggers> | |||
<Trigger Property="Text" Value="{x:Null}"> | |||
<Setter Property="Background" Value="{StaticResource HintText}"/> | |||
</Trigger> | |||
<Trigger Property="Text" Value=""> | |||
<Setter Property="Background" Value="{StaticResource HintText}"/> | |||
</Trigger> | |||
</Style.Triggers> | |||
</Style> | |||
</TextBox.Style> | |||
</TextBox> | |||
<Button x:Name="btnConfirmImport" Content="确认导入" Width="60" Click="ConfirmImport_Click" /> | |||
</StackPanel> | |||
</Grid> | |||
<Grid x:Name="southPanel" DockPanel.Dock="Bottom" Height="30"> | |||
<Grid.RowDefinitions> | |||
<RowDefinition Height="Auto"/> | |||
</Grid.RowDefinitions> | |||
<StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Center"> | |||
<Label Content="共有条数:" /> | |||
<TextBox Width="50" Text="{Binding TotalCount}" IsEnabled="False" VerticalAlignment="Center" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" /> | |||
<Button x:Name="btnPrev" Content="上一页" Margin="5" Click="PrevPage_Click" /> | |||
<Button x:Name="btnNext" Content="下一页" Margin="5" Click="NextPage_Click" /> | |||
<TextBox Width="50" Text="{Binding CurrentPage}" IsEnabled="False" VerticalAlignment="Center" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" /> | |||
</StackPanel> | |||
</Grid> | |||
<!--CENTER部分:表格,包含列:"电厂名称"、"机器识别码"、"导入时间"、"是否已经生成激活码"和"操作"6列--> | |||
<ScrollViewer x:Name="centerPanel" Margin="10"> | |||
<DataGrid Name="dataGrid" | |||
AutoGenerateColumns="False" | |||
SelectionMode="Single" | |||
VerticalAlignment="Stretch" | |||
HorizontalAlignment="Left" | |||
Width="750" | |||
Height="300" IsReadOnly="True"> | |||
<!--列定义--> | |||
<DataGrid.Columns> | |||
<DataGridTextColumn Binding="{Binding FactoryName}" Header="电厂名称" Width="120" CanUserSort="False" /> | |||
<DataGridTextColumn Binding="{Binding MachineCode}" Header="机器识别码" Width="220" CanUserSort="False" /> | |||
<DataGridTextColumn Binding="{Binding ImportTime}" Header="导入时间" Width="100" CanUserSort="False" /> | |||
<DataGridCheckBoxColumn Binding="{Binding IsGenerated}" | |||
Header="是否已经生成激活码" | |||
Width="130" | |||
CanUserSort="False"> | |||
<DataGridCheckBoxColumn.ElementStyle> | |||
<Style TargetType="CheckBox"> | |||
<Setter Property="IsEnabled" Value="False"/> | |||
<Setter Property="HorizontalAlignment" Value="Center"/> | |||
<Setter Property="VerticalAlignment" Value="Center"/> | |||
</Style> | |||
</DataGridCheckBoxColumn.ElementStyle> | |||
<DataGridCheckBoxColumn.HeaderStyle> | |||
<Style TargetType="DataGridColumnHeader"> | |||
<Setter Property="HorizontalContentAlignment" Value="Center"/> | |||
</Style> | |||
</DataGridCheckBoxColumn.HeaderStyle> | |||
</DataGridCheckBoxColumn> | |||
<DataGridTemplateColumn Header="操作" Width="100"> | |||
<DataGridTemplateColumn.CellTemplate> | |||
<DataTemplate> | |||
<Button Content="下载激活码" | |||
Click="DownloadActivationCode_Click" | |||
Margin="5" | |||
Height="25"/> | |||
</DataTemplate> | |||
</DataGridTemplateColumn.CellTemplate> | |||
</DataGridTemplateColumn> | |||
</DataGrid.Columns> | |||
</DataGrid> | |||
</ScrollViewer> | |||
</DockPanel> | |||
</Window> |
@@ -0,0 +1,204 @@ | |||
using CnasSynchronousCommon; | |||
using CnasSynchronusClient; | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Data; | |||
using System.Linq; | |||
using System.Security.Cryptography; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
using System.Windows; | |||
using System.Windows.Controls; | |||
using System.Windows.Data; | |||
using System.Windows.Documents; | |||
using System.Windows.Input; | |||
using System.Windows.Media; | |||
using System.Windows.Media.Imaging; | |||
using System.Windows.Navigation; | |||
using System.Windows.Shapes; | |||
namespace CNAS_Authorize | |||
{ | |||
/// <summary> | |||
/// MainWindow.xaml 的交互逻辑 | |||
/// </summary> | |||
public partial class MainWindow : Window | |||
{ | |||
private MachineAuth m_machines; | |||
public MainWindow() | |||
{ | |||
InitializeComponent(); | |||
} | |||
private void Window_Loaded(object sender, RoutedEventArgs e) | |||
{ | |||
this.LoadData(); | |||
} | |||
private void LoadData() | |||
{ | |||
m_machines = new MachineAuth(); | |||
m_machines.Load(); | |||
dataGrid.ItemsSource = m_machines.Page; | |||
this.DataContext = m_machines; | |||
} | |||
private void Window_SizeChanged(object sender, SizeChangedEventArgs e) | |||
{ | |||
if (this.Width < 500) return; | |||
dataGrid.Width = this.Width - 48; | |||
dataGrid.Height = centerPanel.Height; | |||
//设置列宽 | |||
double colWidth = this.Width - 60;// centerPanel.Width; | |||
for (int i = 1; i < dataGrid.Columns.Count; i++) | |||
{ | |||
colWidth = colWidth - dataGrid.Columns[i].Width.Value; | |||
} | |||
if (colWidth > 0) | |||
dataGrid.Columns[0].Width = colWidth; | |||
edtMachine.Width = this.Width - lbMachine.Width - btnQuery.Width - 48; | |||
edtFactory.Width = edtMachine.Width; | |||
} | |||
private void refreshBind() | |||
{ | |||
this.DataContext = null; | |||
this.DataContext = m_machines; | |||
} | |||
private void PrevPage_Click(object sender, RoutedEventArgs e) | |||
{ | |||
bool ok; | |||
List<Machine> page = m_machines.PrevPage(out ok); | |||
if (ok) | |||
{ | |||
dataGrid.ItemsSource = page; | |||
refreshBind(); | |||
} | |||
} | |||
private void NextPage_Click(object sender, RoutedEventArgs e) | |||
{ | |||
bool ok; | |||
List<Machine> page = m_machines.NextPage(out ok); | |||
if (ok) | |||
{ | |||
dataGrid.ItemsSource = page; | |||
refreshBind(); | |||
} | |||
} | |||
private void Query_Click(object sender, RoutedEventArgs e) | |||
{ | |||
m_machines.ChangeFilter(edtMachine.Text.Trim(), edtFactory.Text.Trim()); | |||
dataGrid.ItemsSource = m_machines.Page; | |||
refreshBind(); | |||
} | |||
private void ConfirmImport_Click(object sender, RoutedEventArgs e) | |||
{ | |||
//加载CNAS数据库配置 | |||
var targetDataBase = FileOperation.GetLocalCnasDB(); | |||
if (!CnasDataOperationFact.CnasDataOperation().TestConnect(targetDataBase)) | |||
{ | |||
MessageBox.Show("CNAS数据库无法正常连接...", "提示"); | |||
return; | |||
} | |||
var existData = CnasDataOperationFact.CnasDataOperation().GetTableData(targetDataBase, $"select * from macaddress where MAC_ADDRESS='{edtMachine.Text.Trim()}'"); | |||
if(existData!=null&& existData.Rows.Count > 0) | |||
{ | |||
MessageBox.Show("已经导入!"); | |||
return; | |||
} | |||
StringBuilder sb = new StringBuilder(); | |||
sb.AppendFormat($"insert into macaddress(MAC_ADDRESS,PLANTCODE,CREATETIME,FACILITY_STYLE) VALUES('{edtMachine.Text.Trim()}','{edtFactory.Text.Trim()}',now(),'999')"); | |||
//1.加载数据 | |||
var flag = CnasDataOperationFact.CnasDataOperation().InsertTableData(targetDataBase, sb.ToString()); | |||
if (flag) | |||
{ | |||
AppLog.ServiceInfo("导入成功"); | |||
MessageBox.Show("导入成功...", "提示"); | |||
this.LoadData(); | |||
} | |||
else | |||
{ | |||
MessageBox.Show("导入失败...", "提示"); | |||
} | |||
} | |||
private void DownloadActivationCode_Click(object sender, RoutedEventArgs e) | |||
{ | |||
var button = sender as Button; | |||
var machine = button.DataContext as Machine; | |||
if (machine != null) | |||
{ | |||
try | |||
{ | |||
// 生成激活码 | |||
string activationCode = GenerateActivationCode(machine.MachineCode); | |||
// 创建保存文件对话框 | |||
var saveFileDialog = new Microsoft.Win32.SaveFileDialog | |||
{ | |||
FileName = $"激活码_{machine.MachineCode}_{DateTime.Now:yyyyMMdd}", | |||
DefaultExt = ".txt", | |||
Filter = "文本文件|*.txt" | |||
}; | |||
if (saveFileDialog.ShowDialog() == true) | |||
{ | |||
// 将激活码写入文件 | |||
System.IO.File.WriteAllText(saveFileDialog.FileName, activationCode); | |||
MessageBox.Show("激活码已成功保存!", "提示", MessageBoxButton.OK, MessageBoxImage.Information); | |||
// 更新状态 | |||
machine.IsGenerated = true; | |||
refreshBind(); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
MessageBox.Show($"下载激活码失败: {ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error); | |||
} | |||
} | |||
} | |||
private string GenerateActivationCode(string machineCode) | |||
{ | |||
// 这里实现激活码生成算法 | |||
// 示例:简单的加密算法,实际应用中应该使用更安全的加密方式 | |||
using (var md5 = System.Security.Cryptography.MD5.Create()) | |||
{ | |||
// 加入时间戳使得生成的激活码具有时效性 | |||
string input = machineCode + DateTime.Now.ToString("yyyyMMdd"); | |||
byte[] inputBytes = Encoding.UTF8.GetBytes(input); | |||
byte[] hashBytes = md5.ComputeHash(inputBytes); | |||
// 转换为16进制字符串 | |||
StringBuilder sb = new StringBuilder(); | |||
for (int i = 0; i < hashBytes.Length; i++) | |||
{ | |||
sb.Append(hashBytes[i].ToString("X2")); | |||
// 每4个字符添加一个分隔符,提高可读性 | |||
if ((i + 1) % 4 == 0 && i != hashBytes.Length - 1) | |||
{ | |||
sb.Append("-"); | |||
} | |||
} | |||
return sb.ToString(); | |||
} | |||
} | |||
} | |||
} |
@@ -0,0 +1,55 @@ | |||
using System.Reflection; | |||
using System.Resources; | |||
using System.Runtime.CompilerServices; | |||
using System.Runtime.InteropServices; | |||
using System.Windows; | |||
// 有关程序集的一般信息由以下 | |||
// 控制。更改这些特性值可修改 | |||
// 与程序集关联的信息。 | |||
[assembly: AssemblyTitle("CNAS_Authorize")] | |||
[assembly: AssemblyDescription("")] | |||
[assembly: AssemblyConfiguration("")] | |||
[assembly: AssemblyCompany("")] | |||
[assembly: AssemblyProduct("CNAS_Authorize")] | |||
[assembly: AssemblyCopyright("Copyright © 2025")] | |||
[assembly: AssemblyTrademark("")] | |||
[assembly: AssemblyCulture("")] | |||
//将 ComVisible 设置为 false 将使此程序集中的类型 | |||
//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, | |||
//请将此类型的 ComVisible 特性设置为 true。 | |||
[assembly: ComVisible(false)] | |||
//若要开始生成可本地化的应用程序,请 | |||
//<PropertyGroup> 中的 .csproj 文件中 | |||
//例如,如果您在源文件中使用的是美国英语, | |||
//使用的是美国英语,请将 <UICulture> 设置为 en-US。 然后取消 | |||
//对以下 NeutralResourceLanguage 特性的注释。 更新 | |||
//以下行中的“en-US”以匹配项目文件中的 UICulture 设置。 | |||
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] | |||
[assembly: ThemeInfo( | |||
ResourceDictionaryLocation.None, //主题特定资源词典所处位置 | |||
//(当资源未在页面 | |||
//或应用程序资源字典中找到时使用) | |||
ResourceDictionaryLocation.SourceAssembly //常规资源词典所处位置 | |||
//(当资源未在页面 | |||
//、应用程序或任何主题专用资源字典中找到时使用) | |||
)] | |||
// 程序集的版本信息由下列四个值组成: | |||
// | |||
// 主版本 | |||
// 次版本 | |||
// 生成号 | |||
// 修订号 | |||
// | |||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, | |||
// 方法是按如下所示使用“*”: : | |||
// [assembly: AssemblyVersion("1.0.*")] | |||
[assembly: AssemblyVersion("1.0.0.0")] | |||
[assembly: AssemblyFileVersion("1.0.0.0")] |
@@ -0,0 +1,71 @@ | |||
//------------------------------------------------------------------------------ | |||
// <auto-generated> | |||
// 此代码由工具生成。 | |||
// 运行时版本: 4.0.30319.42000 | |||
// | |||
// 对此文件的更改可能导致不正确的行为,如果 | |||
// 重新生成代码,则所做更改将丢失。 | |||
// </auto-generated> | |||
//------------------------------------------------------------------------------ | |||
namespace CNAS_Authorize.Properties | |||
{ | |||
/// <summary> | |||
/// 强类型资源类,用于查找本地化字符串等。 | |||
/// </summary> | |||
// 此类是由 StronglyTypedResourceBuilder | |||
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 | |||
// 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen | |||
// (以 /str 作为命令选项),或重新生成 VS 项目。 | |||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] | |||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] | |||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | |||
internal class Resources | |||
{ | |||
private static global::System.Resources.ResourceManager resourceMan; | |||
private static global::System.Globalization.CultureInfo resourceCulture; | |||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] | |||
internal Resources() | |||
{ | |||
} | |||
/// <summary> | |||
/// 返回此类使用的缓存 ResourceManager 实例。 | |||
/// </summary> | |||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] | |||
internal static global::System.Resources.ResourceManager ResourceManager | |||
{ | |||
get | |||
{ | |||
if ((resourceMan == null)) | |||
{ | |||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CNAS_Authorize.Properties.Resources", typeof(Resources).Assembly); | |||
resourceMan = temp; | |||
} | |||
return resourceMan; | |||
} | |||
} | |||
/// <summary> | |||
/// 覆盖当前线程的 CurrentUICulture 属性 | |||
/// 使用此强类型的资源类的资源查找。 | |||
/// </summary> | |||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] | |||
internal static global::System.Globalization.CultureInfo Culture | |||
{ | |||
get | |||
{ | |||
return resourceCulture; | |||
} | |||
set | |||
{ | |||
resourceCulture = value; | |||
} | |||
} | |||
} | |||
} |
@@ -0,0 +1,117 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<root> | |||
<!-- | |||
Microsoft ResX Schema | |||
Version 2.0 | |||
The primary goals of this format is to allow a simple XML format | |||
that is mostly human readable. The generation and parsing of the | |||
various data types are done through the TypeConverter classes | |||
associated with the data types. | |||
Example: | |||
... ado.net/XML headers & schema ... | |||
<resheader name="resmimetype">text/microsoft-resx</resheader> | |||
<resheader name="version">2.0</resheader> | |||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | |||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | |||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | |||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | |||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | |||
<value>[base64 mime encoded serialized .NET Framework object]</value> | |||
</data> | |||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | |||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | |||
<comment>This is a comment</comment> | |||
</data> | |||
There are any number of "resheader" rows that contain simple | |||
name/value pairs. | |||
Each data row contains a name, and value. The row also contains a | |||
type or mimetype. Type corresponds to a .NET class that support | |||
text/value conversion through the TypeConverter architecture. | |||
Classes that don't support this are serialized and stored with the | |||
mimetype set. | |||
The mimetype is used for serialized objects, and tells the | |||
ResXResourceReader how to depersist the object. This is currently not | |||
extensible. For a given mimetype the value must be set accordingly: | |||
Note - application/x-microsoft.net.object.binary.base64 is the format | |||
that the ResXResourceWriter will generate, however the reader can | |||
read any of the formats listed below. | |||
mimetype: application/x-microsoft.net.object.binary.base64 | |||
value : The object must be serialized with | |||
: System.Serialization.Formatters.Binary.BinaryFormatter | |||
: and then encoded with base64 encoding. | |||
mimetype: application/x-microsoft.net.object.soap.base64 | |||
value : The object must be serialized with | |||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter | |||
: and then encoded with base64 encoding. | |||
mimetype: application/x-microsoft.net.object.bytearray.base64 | |||
value : The object must be serialized into a byte array | |||
: using a System.ComponentModel.TypeConverter | |||
: and then encoded with base64 encoding. | |||
--> | |||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | |||
<xsd:element name="root" msdata:IsDataSet="true"> | |||
<xsd:complexType> | |||
<xsd:choice maxOccurs="unbounded"> | |||
<xsd:element name="metadata"> | |||
<xsd:complexType> | |||
<xsd:sequence> | |||
<xsd:element name="value" type="xsd:string" minOccurs="0" /> | |||
</xsd:sequence> | |||
<xsd:attribute name="name" type="xsd:string" /> | |||
<xsd:attribute name="type" type="xsd:string" /> | |||
<xsd:attribute name="mimetype" type="xsd:string" /> | |||
</xsd:complexType> | |||
</xsd:element> | |||
<xsd:element name="assembly"> | |||
<xsd:complexType> | |||
<xsd:attribute name="alias" type="xsd:string" /> | |||
<xsd:attribute name="name" type="xsd:string" /> | |||
</xsd:complexType> | |||
</xsd:element> | |||
<xsd:element name="data"> | |||
<xsd:complexType> | |||
<xsd:sequence> | |||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | |||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | |||
</xsd:sequence> | |||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> | |||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | |||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | |||
</xsd:complexType> | |||
</xsd:element> | |||
<xsd:element name="resheader"> | |||
<xsd:complexType> | |||
<xsd:sequence> | |||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | |||
</xsd:sequence> | |||
<xsd:attribute name="name" type="xsd:string" use="required" /> | |||
</xsd:complexType> | |||
</xsd:element> | |||
</xsd:choice> | |||
</xsd:complexType> | |||
</xsd:element> | |||
</xsd:schema> | |||
<resheader name="resmimetype"> | |||
<value>text/microsoft-resx</value> | |||
</resheader> | |||
<resheader name="version"> | |||
<value>2.0</value> | |||
</resheader> | |||
<resheader name="reader"> | |||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | |||
</resheader> | |||
<resheader name="writer"> | |||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | |||
</resheader> | |||
</root> |
@@ -0,0 +1,30 @@ | |||
//------------------------------------------------------------------------------ | |||
// <auto-generated> | |||
// This code was generated by a tool. | |||
// Runtime Version:4.0.30319.42000 | |||
// | |||
// Changes to this file may cause incorrect behavior and will be lost if | |||
// the code is regenerated. | |||
// </auto-generated> | |||
//------------------------------------------------------------------------------ | |||
namespace CNAS_Authorize.Properties | |||
{ | |||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | |||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] | |||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase | |||
{ | |||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); | |||
public static Settings Default | |||
{ | |||
get | |||
{ | |||
return defaultInstance; | |||
} | |||
} | |||
} | |||
} |
@@ -0,0 +1,7 @@ | |||
<?xml version='1.0' encoding='utf-8'?> | |||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)"> | |||
<Profiles> | |||
<Profile Name="(Default)" /> | |||
</Profiles> | |||
<Settings /> | |||
</SettingsFile> |
@@ -30,7 +30,8 @@ namespace CNAS_BalanceClient | |||
private void comType_SelectedValueChanged(object sender, EventArgs e) | |||
{ | |||
switch (comType.SelectedItem) | |||
string selectedItem = comType.SelectedItem == null ? "" : comType.SelectedItem.ToString(); | |||
switch (selectedItem) | |||
{ | |||
case "全水分": | |||
dgvQuanShuiFen.Visible = true; | |||
@@ -71,7 +72,8 @@ namespace CNAS_BalanceClient | |||
if (this.txtCode.Text.Trim() != "") | |||
lstFilterData = lstFilterData.Where(s => s.Sample_Number == this.txtCode.Text.Trim()).ToList<LaboratoryTest>(); | |||
//筛选类型 | |||
switch (comType.SelectedItem) | |||
string selectedIteem = comType.SelectedItem == null ? "" : comType.SelectedItem.ToString(); | |||
switch (selectedIteem) | |||
{ | |||
case "全水分": | |||
lstFilterData = lstFilterData.Where(s => s.DataType == "ARB").ToList<LaboratoryTest>(); | |||
@@ -1,7 +1,7 @@ | |||
| |||
Microsoft Visual Studio Solution File, Format Version 12.00 | |||
# Visual Studio 15 | |||
VisualStudioVersion = 15.0.28307.705 | |||
# Visual Studio 14 | |||
VisualStudioVersion = 14.0.25420.1 | |||
MinimumVisualStudioVersion = 10.0.40219.1 | |||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CnasSynchronusDAL", "CnasSynchronusDAL\CnasSynchronusDAL.csproj", "{F4EC1B78-EFF4-4D04-AE79-631D220187AF}" | |||
EndProject | |||
@@ -31,6 +31,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WF-ChangeGUID", "WF-ChangeG | |||
EndProject | |||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CNAS_SerialPort", "CNAS_SerialPort\CNAS_SerialPort.csproj", "{ABB56058-B6FD-4747-A4E9-9C9361D6D993}" | |||
EndProject | |||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CNAS_Authorize", "CNAS_Authorize\CNAS_Authorize.csproj", "{9B4A6989-A7A6-41C0-ADFE-D470EB972D79}" | |||
EndProject | |||
Global | |||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
Debug|Any CPU = Debug|Any CPU | |||
@@ -93,6 +95,10 @@ Global | |||
{ABB56058-B6FD-4747-A4E9-9C9361D6D993}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
{ABB56058-B6FD-4747-A4E9-9C9361D6D993}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
{ABB56058-B6FD-4747-A4E9-9C9361D6D993}.Release|Any CPU.Build.0 = Release|Any CPU | |||
{9B4A6989-A7A6-41C0-ADFE-D470EB972D79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
{9B4A6989-A7A6-41C0-ADFE-D470EB972D79}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
{9B4A6989-A7A6-41C0-ADFE-D470EB972D79}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
{9B4A6989-A7A6-41C0-ADFE-D470EB972D79}.Release|Any CPU.Build.0 = Release|Any CPU | |||
EndGlobalSection | |||
GlobalSection(SolutionProperties) = preSolution | |||
HideSolutionNode = FALSE | |||
@@ -0,0 +1,115 @@ | |||
namespace CNAS_DBSync | |||
{ | |||
partial class ActivationForm | |||
{ | |||
private System.ComponentModel.IContainer components = null; | |||
protected override void Dispose(bool disposing) | |||
{ | |||
if (disposing && (components != null)) | |||
{ | |||
components.Dispose(); | |||
} | |||
base.Dispose(disposing); | |||
} | |||
private void InitializeComponent() | |||
{ | |||
this.lblTitle = new System.Windows.Forms.Label(); | |||
this.lblDescription = new System.Windows.Forms.Label(); | |||
this.lblActivationCode = new System.Windows.Forms.Label(); | |||
this.txtActivationCode = new System.Windows.Forms.TextBox(); | |||
this.btnActivate = new System.Windows.Forms.Button(); | |||
this.lnkDownloadCode = new System.Windows.Forms.LinkLabel(); | |||
this.SuspendLayout(); | |||
// | |||
// lblTitle | |||
// | |||
this.lblTitle.Location = new System.Drawing.Point(0, 0); | |||
this.lblTitle.Name = "lblTitle"; | |||
this.lblTitle.Size = new System.Drawing.Size(100, 23); | |||
this.lblTitle.TabIndex = 0; | |||
// | |||
// lblDescription | |||
// | |||
this.lblDescription.Font = new System.Drawing.Font("微软雅黑", 10F); | |||
this.lblDescription.ForeColor = System.Drawing.Color.Red; | |||
this.lblDescription.Location = new System.Drawing.Point(20, 60); | |||
this.lblDescription.Name = "lblDescription"; | |||
this.lblDescription.Size = new System.Drawing.Size(560, 40); | |||
this.lblDescription.TabIndex = 1; | |||
this.lblDescription.Text = "请点击上方按钮下载机器识别码,然后将机器识别码发给平台管理员申请授权文件后进行激活,激活后才可正常使用取数仪器客户端。"; | |||
// | |||
// lblActivationCode | |||
// | |||
this.lblActivationCode.AutoSize = true; | |||
this.lblActivationCode.Location = new System.Drawing.Point(20, 120); | |||
this.lblActivationCode.Name = "lblActivationCode"; | |||
this.lblActivationCode.Size = new System.Drawing.Size(69, 20); | |||
this.lblActivationCode.TabIndex = 2; | |||
this.lblActivationCode.Text = "激活码:"; | |||
// | |||
// txtActivationCode | |||
// | |||
this.txtActivationCode.Location = new System.Drawing.Point(20, 140); | |||
this.txtActivationCode.Multiline = true; | |||
this.txtActivationCode.Name = "txtActivationCode"; | |||
this.txtActivationCode.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; | |||
this.txtActivationCode.Size = new System.Drawing.Size(840, 225); | |||
this.txtActivationCode.TabIndex = 0; | |||
// | |||
// btnActivate | |||
// | |||
this.btnActivate.Location = new System.Drawing.Point(370, 460); | |||
this.btnActivate.Name = "btnActivate"; | |||
this.btnActivate.Size = new System.Drawing.Size(100, 30); | |||
this.btnActivate.TabIndex = 3; | |||
this.btnActivate.Text = "输入激活"; | |||
this.btnActivate.Click += new System.EventHandler(this.btnActivate_Click); | |||
// | |||
// lnkDownloadCode | |||
// | |||
this.lnkDownloadCode.ActiveLinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(102)))), ((int)(((byte)(204))))); | |||
this.lnkDownloadCode.AutoSize = true; | |||
this.lnkDownloadCode.Font = new System.Drawing.Font("微软雅黑", 10F); | |||
this.lnkDownloadCode.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; | |||
this.lnkDownloadCode.LinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(102)))), ((int)(((byte)(204))))); | |||
this.lnkDownloadCode.Location = new System.Drawing.Point(20, 23); | |||
this.lnkDownloadCode.Name = "lnkDownloadCode"; | |||
this.lnkDownloadCode.Size = new System.Drawing.Size(129, 23); | |||
this.lnkDownloadCode.TabIndex = 4; | |||
this.lnkDownloadCode.TabStop = true; | |||
this.lnkDownloadCode.Text = "下载机器识别码"; | |||
this.lnkDownloadCode.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lnkDownloadCode_LinkClicked); | |||
// | |||
// ActivationForm | |||
// | |||
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); | |||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | |||
this.ClientSize = new System.Drawing.Size(909, 563); | |||
this.Controls.Add(this.lblTitle); | |||
this.Controls.Add(this.lblDescription); | |||
this.Controls.Add(this.lblActivationCode); | |||
this.Controls.Add(this.txtActivationCode); | |||
this.Controls.Add(this.btnActivate); | |||
this.Controls.Add(this.lnkDownloadCode); | |||
this.Font = new System.Drawing.Font("微软雅黑", 9F); | |||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; | |||
this.MaximizeBox = false; | |||
this.MinimizeBox = false; | |||
this.Name = "ActivationForm"; | |||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; | |||
this.Text = "下载机器识别码"; | |||
this.ResumeLayout(false); | |||
this.PerformLayout(); | |||
} | |||
private System.Windows.Forms.Label lblTitle; | |||
private System.Windows.Forms.Label lblDescription; | |||
private System.Windows.Forms.Label lblActivationCode; | |||
private System.Windows.Forms.TextBox txtActivationCode; | |||
private System.Windows.Forms.Button btnActivate; | |||
private System.Windows.Forms.LinkLabel lnkDownloadCode; | |||
} | |||
} |
@@ -0,0 +1,210 @@ | |||
using System; | |||
using System.Text; | |||
using System.Windows.Forms; | |||
using System.Management; | |||
using System.Net.NetworkInformation; | |||
using System.Collections.Generic; | |||
using System.IO; | |||
using System.Configuration; | |||
namespace CNAS_DBSync | |||
{ | |||
public partial class ActivationForm : Form | |||
{ | |||
private const string ACTIVATION_FILE = "activation.config"; | |||
public bool IsActivated { get; private set; } | |||
public ActivationForm() | |||
{ | |||
InitializeComponent(); | |||
IsActivated = false; | |||
} | |||
// 检查是否已激活 | |||
public bool CheckActivation() | |||
{ | |||
try | |||
{ | |||
string activationPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ACTIVATION_FILE); | |||
if (File.Exists(activationPath)) | |||
{ | |||
string machineCode = GetMachineCode(); | |||
string savedMachineCode = File.ReadAllText(activationPath); | |||
return machineCode == savedMachineCode; | |||
} | |||
} | |||
catch | |||
{ | |||
// 如果读取失败,返回未激活状态 | |||
} | |||
return false; | |||
} | |||
private void SaveActivation() | |||
{ | |||
try | |||
{ | |||
string activationPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ACTIVATION_FILE); | |||
File.WriteAllText(activationPath, GetMachineCode()); | |||
} | |||
catch (Exception ex) | |||
{ | |||
MessageBox.Show($"保存激活状态失败:{ex.Message}", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); | |||
} | |||
} | |||
private void btnActivate_Click(object sender, EventArgs e) | |||
{ | |||
string activationCode = txtActivationCode.Text.Trim(); | |||
if (string.IsNullOrEmpty(activationCode)) | |||
{ | |||
MessageBox.Show("请输入激活码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); | |||
return; | |||
} | |||
try | |||
{ | |||
if (ValidateActivationCode(activationCode)) | |||
{ | |||
IsActivated = true; | |||
SaveActivation(); // 保存激活状态 | |||
this.DialogResult = DialogResult.OK; | |||
this.Close(); | |||
} | |||
else | |||
{ | |||
MessageBox.Show("激活码无效!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
MessageBox.Show($"激活失败:{ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); | |||
} | |||
} | |||
private void lnkDownloadCode_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) | |||
{ | |||
try | |||
{ | |||
string machineCode = GetMachineCode(); | |||
// 创建保存文件对话框 | |||
var saveFileDialog = new SaveFileDialog | |||
{ | |||
FileName = $"机器码_{DateTime.Now:yyyyMMdd}", | |||
DefaultExt = ".txt", | |||
Filter = "文本文件|*.txt" | |||
}; | |||
if (saveFileDialog.ShowDialog() == DialogResult.OK) | |||
{ | |||
File.WriteAllText(saveFileDialog.FileName, machineCode); | |||
MessageBox.Show("机器码已成功保存!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
MessageBox.Show($"获取机器码失败:{ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); | |||
} | |||
} | |||
private string GetMachineCode() | |||
{ | |||
StringBuilder machineCode = new StringBuilder(); | |||
// 获取CPU ID | |||
string cpuId = GetCPUId(); | |||
machineCode.Append(cpuId); | |||
// 获取所有MAC地址 | |||
List<string> macAddresses = GetMACAddresses(); | |||
foreach (string mac in macAddresses) | |||
{ | |||
machineCode.Append("_").Append(mac); | |||
} | |||
return machineCode.ToString(); | |||
} | |||
private string GetCPUId() | |||
{ | |||
try | |||
{ | |||
using (ManagementClass mc = new ManagementClass("Win32_Processor")) | |||
{ | |||
ManagementObjectCollection moc = mc.GetInstances(); | |||
foreach (ManagementObject mo in moc) | |||
{ | |||
return mo.Properties["ProcessorId"].Value.ToString(); | |||
} | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
throw new Exception("获取CPU ID失败: " + ex.Message); | |||
} | |||
return string.Empty; | |||
} | |||
private List<string> GetMACAddresses() | |||
{ | |||
List<string> macAddresses = new List<string>(); | |||
try | |||
{ | |||
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); | |||
foreach (NetworkInterface adapter in nics) | |||
{ | |||
// 只获取物理网卡的MAC地址 | |||
if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet || | |||
adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211) | |||
{ | |||
string mac = adapter.GetPhysicalAddress().ToString(); | |||
if (!string.IsNullOrEmpty(mac)) | |||
{ | |||
macAddresses.Add(mac); | |||
} | |||
} | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
throw new Exception("获取MAC地址失败: " + ex.Message); | |||
} | |||
return macAddresses; | |||
} | |||
private bool ValidateActivationCode(string activationCode) | |||
{ | |||
// 使用实际的机器码来验证 | |||
string machineCode = GetMachineCode(); | |||
return GenerateActivationCode(machineCode) == activationCode; | |||
} | |||
private string GenerateActivationCode(string machineCode) | |||
{ | |||
// 这里实现激活码生成算法 | |||
// 示例:简单的加密算法,实际应用中应该使用更安全的加密方式 | |||
using (var md5 = System.Security.Cryptography.MD5.Create()) | |||
{ | |||
// 加入时间戳使得生成的激活码具有时效性 | |||
string input = machineCode + DateTime.Now.ToString("yyyyMMdd"); | |||
byte[] inputBytes = Encoding.UTF8.GetBytes(input); | |||
byte[] hashBytes = md5.ComputeHash(inputBytes); | |||
// 转换为16进制字符串 | |||
StringBuilder sb = new StringBuilder(); | |||
for (int i = 0; i < hashBytes.Length; i++) | |||
{ | |||
sb.Append(hashBytes[i].ToString("X2")); | |||
// 每4个字符添加一个分隔符,提高可读性 | |||
if ((i + 1) % 4 == 0 && i != hashBytes.Length - 1) | |||
{ | |||
sb.Append("-"); | |||
} | |||
} | |||
return sb.ToString(); | |||
} | |||
} | |||
} | |||
} |
@@ -0,0 +1,120 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<root> | |||
<!-- | |||
Microsoft ResX Schema | |||
Version 2.0 | |||
The primary goals of this format is to allow a simple XML format | |||
that is mostly human readable. The generation and parsing of the | |||
various data types are done through the TypeConverter classes | |||
associated with the data types. | |||
Example: | |||
... ado.net/XML headers & schema ... | |||
<resheader name="resmimetype">text/microsoft-resx</resheader> | |||
<resheader name="version">2.0</resheader> | |||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | |||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | |||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | |||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | |||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | |||
<value>[base64 mime encoded serialized .NET Framework object]</value> | |||
</data> | |||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | |||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | |||
<comment>This is a comment</comment> | |||
</data> | |||
There are any number of "resheader" rows that contain simple | |||
name/value pairs. | |||
Each data row contains a name, and value. The row also contains a | |||
type or mimetype. Type corresponds to a .NET class that support | |||
text/value conversion through the TypeConverter architecture. | |||
Classes that don't support this are serialized and stored with the | |||
mimetype set. | |||
The mimetype is used for serialized objects, and tells the | |||
ResXResourceReader how to depersist the object. This is currently not | |||
extensible. For a given mimetype the value must be set accordingly: | |||
Note - application/x-microsoft.net.object.binary.base64 is the format | |||
that the ResXResourceWriter will generate, however the reader can | |||
read any of the formats listed below. | |||
mimetype: application/x-microsoft.net.object.binary.base64 | |||
value : The object must be serialized with | |||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | |||
: and then encoded with base64 encoding. | |||
mimetype: application/x-microsoft.net.object.soap.base64 | |||
value : The object must be serialized with | |||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter | |||
: and then encoded with base64 encoding. | |||
mimetype: application/x-microsoft.net.object.bytearray.base64 | |||
value : The object must be serialized into a byte array | |||
: using a System.ComponentModel.TypeConverter | |||
: and then encoded with base64 encoding. | |||
--> | |||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | |||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | |||
<xsd:element name="root" msdata:IsDataSet="true"> | |||
<xsd:complexType> | |||
<xsd:choice maxOccurs="unbounded"> | |||
<xsd:element name="metadata"> | |||
<xsd:complexType> | |||
<xsd:sequence> | |||
<xsd:element name="value" type="xsd:string" minOccurs="0" /> | |||
</xsd:sequence> | |||
<xsd:attribute name="name" use="required" type="xsd:string" /> | |||
<xsd:attribute name="type" type="xsd:string" /> | |||
<xsd:attribute name="mimetype" type="xsd:string" /> | |||
<xsd:attribute ref="xml:space" /> | |||
</xsd:complexType> | |||
</xsd:element> | |||
<xsd:element name="assembly"> | |||
<xsd:complexType> | |||
<xsd:attribute name="alias" type="xsd:string" /> | |||
<xsd:attribute name="name" type="xsd:string" /> | |||
</xsd:complexType> | |||
</xsd:element> | |||
<xsd:element name="data"> | |||
<xsd:complexType> | |||
<xsd:sequence> | |||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | |||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | |||
</xsd:sequence> | |||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | |||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | |||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | |||
<xsd:attribute ref="xml:space" /> | |||
</xsd:complexType> | |||
</xsd:element> | |||
<xsd:element name="resheader"> | |||
<xsd:complexType> | |||
<xsd:sequence> | |||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | |||
</xsd:sequence> | |||
<xsd:attribute name="name" type="xsd:string" use="required" /> | |||
</xsd:complexType> | |||
</xsd:element> | |||
</xsd:choice> | |||
</xsd:complexType> | |||
</xsd:element> | |||
</xsd:schema> | |||
<resheader name="resmimetype"> | |||
<value>text/microsoft-resx</value> | |||
</resheader> | |||
<resheader name="version"> | |||
<value>2.0</value> | |||
</resheader> | |||
<resheader name="reader"> | |||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | |||
</resheader> | |||
<resheader name="writer"> | |||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | |||
</resheader> | |||
</root> |
@@ -4,10 +4,15 @@ | |||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> | |||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> | |||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> | |||
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > | |||
<section name="CNAS_DBSync.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> | |||
</sectionGroup> | |||
</configSections> | |||
<connectionStrings> | |||
<add name="CoreDb" connectionString="Driver={IBM DB2 ODBC DRIVER};DataBase=SAMPLE; HostName=127.0.0.1; Protocol=TCPIP;Port=50000;Uid=db2admin;Pwd=123"/> | |||
<add name="CNAS_DBSync.Properties.Settings.ConnectionString" connectionString="Data Source=E:\JXD\CNASClient\CNAS_DBSync\dll\database.db" providerName="Devart.Data.SQLite"/> | |||
<add name="CoreDb" connectionString="Driver={IBM DB2 ODBC DRIVER};DataBase=SAMPLE; HostName=127.0.0.1; Protocol=TCPIP;Port=50000;Uid=db2admin;Pwd=123" /> | |||
<add name="CNAS_DBSync.Properties.Settings.ConnectionString" | |||
connectionString="Data Source=C:\DEV\CNAS\CNASClient\CNAS_DBSync\dll\database.db" | |||
providerName="Devart.Data.SQLite" /> | |||
</connectionStrings> | |||
<appSettings> | |||
<add key="TargetDBType" value="Mysql"/> | |||
@@ -72,4 +77,11 @@ | |||
</filter> | |||
</appender> | |||
</log4net> | |||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration> | |||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup><applicationSettings> | |||
<CNAS_DBSync.Properties.Settings> | |||
<setting name="SyncParamSize" serializeAs="String"> | |||
<value /> | |||
</setting> | |||
</CNAS_DBSync.Properties.Settings> | |||
</applicationSettings> | |||
</configuration> |
@@ -63,6 +63,13 @@ | |||
<Reference Include="System.Xml" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Compile Include="ActivationForm.cs"> | |||
<SubType>Form</SubType> | |||
</Compile> | |||
<Compile Include="ActivationForm.Designer.cs"> | |||
<DependentUpon>ActivationForm.cs</DependentUpon> | |||
</Compile> | |||
<Compile Include="FormSizeHelper.cs" /> | |||
<Compile Include="SourceSettingTextBoxDecrible.cs" /> | |||
<Compile Include="frmAddSubtract.cs"> | |||
<SubType>Form</SubType> | |||
@@ -156,6 +163,9 @@ | |||
</Compile> | |||
<Compile Include="Program.cs" /> | |||
<Compile Include="Properties\AssemblyInfo.cs" /> | |||
<EmbeddedResource Include="ActivationForm.resx"> | |||
<DependentUpon>ActivationForm.cs</DependentUpon> | |||
</EmbeddedResource> | |||
<EmbeddedResource Include="frmAddSubtract.resx"> | |||
<DependentUpon>frmAddSubtract.cs</DependentUpon> | |||
</EmbeddedResource> | |||
@@ -0,0 +1,264 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
using System.Windows.Forms; | |||
using System.Configuration; | |||
using System.Collections; | |||
using System.Drawing; | |||
using System.IO; | |||
using CnasSynchronousCommon; | |||
using System.Xml; | |||
namespace CNAS_DBSync | |||
{ | |||
struct FieldLine | |||
{ | |||
Label label; | |||
Control editor; | |||
Button button; | |||
int size; | |||
public FieldLine(Label label, Control editor, Button button = null) | |||
{ | |||
this.label = label; | |||
this.editor = editor; | |||
this.button = button; | |||
int count = 0; | |||
if (label != null) count++; | |||
if (editor != null) count++; | |||
if (button != null) count++; | |||
size = count; | |||
} | |||
public Label Label | |||
{ | |||
get | |||
{ | |||
return label; | |||
} | |||
} | |||
public Control Editor | |||
{ | |||
get | |||
{ | |||
return editor; | |||
} | |||
} | |||
public Button Button | |||
{ | |||
get | |||
{ | |||
return button; | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 设置容器内编辑字段位置的公共算法 | |||
/// </summary> | |||
class FormSizeHelper | |||
{ | |||
private static readonly string strLocalConfigPath = FileHelper.getBasePath() + @"\Data\"; | |||
private static readonly string FormSizeXml = "FormSize.xml"; | |||
private static readonly FormSizeHelper instance; | |||
private Hashtable formSizes; | |||
// 静态构造函数确保线程安全且延迟加载。 | |||
static FormSizeHelper() { | |||
instance = new FormSizeHelper(); | |||
} | |||
// 防止外部实例化。 | |||
private FormSizeHelper() { | |||
Init(); | |||
} | |||
public static FormSizeHelper Instance => instance; // 提供全局访问点。 | |||
public static void Arrange(Panel container, FieldLine[] fields, int span1 = 1, int span2 = 1) | |||
{ | |||
int colLabel = 0; | |||
int colEditor = 0; | |||
int colButton = 0; | |||
int lbLeft = -1; | |||
for (int i = 0; i < fields.Length; i++) | |||
{ | |||
if (lbLeft == -1) | |||
{ | |||
if (fields[i].Label != null) | |||
lbLeft = fields[i].Label.Left; | |||
} | |||
else if (fields[i].Label != null && fields[i].Label.Left >= 0 && fields[i].Label.Left < lbLeft) | |||
{ | |||
lbLeft = fields[i].Label.Left; | |||
} | |||
} | |||
int width = lbLeft < 0 ? (container.Width * 80 / 100) : (container.Width-lbLeft*2); | |||
int marginLeft = (container.Width - width) / 2; | |||
for (int i=0;i< fields.Length; i++) | |||
{ | |||
if(fields[i].Label != null && fields[i].Label.Width > colLabel) | |||
{ | |||
colLabel = fields[i].Label.Width; | |||
} | |||
if (fields[i].Button != null && fields[i].Button.Width > colButton) | |||
{ | |||
colButton = fields[i].Button.Width; | |||
} | |||
} | |||
colEditor = width - (colLabel + span1 + span2 + colButton); | |||
for (int i = 0; i < fields.Length; i++) | |||
{ | |||
//Label不动 | |||
//改变Editor | |||
if (fields[i].Editor != null) | |||
{ | |||
if(fields[i].Editor is TextBox) | |||
{ | |||
TextBox tb = (TextBox)fields[i].Editor; | |||
//tb.Left = marginLeft + colLabel + span1; | |||
tb.Width = colEditor; | |||
if(fields[i].Button != null) | |||
{ | |||
fields[i].Button.Left = tb.Left + colEditor + span2; | |||
} | |||
} | |||
if(fields[i].Editor is CheckBox) | |||
{ | |||
//不动 | |||
} | |||
if(fields[i].Editor is ComboBox) | |||
{ | |||
ComboBox tb = (ComboBox)fields[i].Editor; | |||
//tb.Left = marginLeft + colLabel + span1; | |||
tb.Width = colEditor; | |||
if (fields[i].Button != null) | |||
{ | |||
fields[i].Button.Left = tb.Left + colEditor + span2; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
private static bool ValidBound(Form form, int x, int y, int w, int h) | |||
{ | |||
if (x>=0 && y >= 0 && w>0 && h > 0) | |||
{ | |||
Screen screen = Screen.FromControl(form); | |||
Rectangle r = screen.Bounds; | |||
return (x + w < r.Width && y + h < r.Height); | |||
} | |||
return false; | |||
} | |||
private void Init() | |||
{ | |||
formSizes = new Hashtable(10); | |||
string strUrl = strLocalConfigPath + FormSizeXml; | |||
try | |||
{ | |||
if (!File.Exists(strUrl)) return; | |||
XmlDocument doc = new XmlDocument(); | |||
doc.Load(strUrl); | |||
XmlNode root = doc.DocumentElement; | |||
foreach (XmlNode node in root.ChildNodes) | |||
{ | |||
string formname = node.Name; | |||
string value = node.InnerText; | |||
formSizes.Add(formname, value); | |||
} | |||
} | |||
catch (Exception ex) | |||
{ | |||
AppLog.Error(ex.Message); | |||
} | |||
} | |||
public List<string> LoadDefaultSize(Form form, string key, out bool changed) | |||
{ | |||
changed = false; | |||
if (formSizes.ContainsKey(key)) | |||
{ | |||
string value = formSizes[key] as string; | |||
string[] values = value.Split(','); | |||
if (values.Length >= 4) | |||
{ | |||
int x, y, w, h; | |||
if (int.TryParse(values[0], out x) && int.TryParse(values[1], out y) && | |||
int.TryParse(values[2], out w) && int.TryParse(values[3], out h)) | |||
{ | |||
if (ValidBound(form, x, y, w, h)) | |||
{ | |||
form.Left = x; | |||
form.Top = y; | |||
form.Width = w; | |||
form.Height = h; | |||
changed = true; | |||
} | |||
} | |||
if (changed && values.Length > 4) | |||
{ | |||
List<string> list = new List<string>(values.Length - 4); | |||
for (int i = 4; i < values.Length; i++) | |||
{ | |||
list.Add(values[i]); | |||
} | |||
return list; | |||
} | |||
} | |||
} | |||
return null; | |||
} | |||
public bool SaveDefaultSize(string key, string value) | |||
{ | |||
if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value)) | |||
{ | |||
formSizes[key] = value; | |||
StringBuilder sb = new StringBuilder(); | |||
sb.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Forms>\n"); | |||
foreach(object k in formSizes.Keys) | |||
{ | |||
string line = string.Format("<{0}>{1}</{0}>", k, formSizes[k]); | |||
sb.Append(line).Append("\n"); | |||
} | |||
sb.Append("</Forms>"); | |||
try | |||
{ | |||
bool bIfSuccess = FileHelper.SaveLocalFile(strLocalConfigPath, FormSizeXml, sb.ToString()); | |||
return bIfSuccess; | |||
} | |||
catch (Exception ex) | |||
{ | |||
AppLog.Error(ex.Message); | |||
} | |||
} | |||
return true; | |||
} | |||
} | |||
} |
@@ -23,8 +23,26 @@ namespace CNAS_DBSync | |||
/*CheckAvailability(ref strMsg);*/ | |||
if (strMsg == "") | |||
{ | |||
if (new frmOperationPwd().ShowDialog() == DialogResult.OK) | |||
Application.Run(new frmSyncParams()); | |||
// 检查是否已激活 | |||
if (! (new ActivationForm()).CheckActivation()) | |||
{ | |||
// 未激活,显示激活窗口 | |||
using (var activationForm = new ActivationForm()) | |||
{ | |||
if (activationForm.ShowDialog() == DialogResult.OK) | |||
{ | |||
// 激活成功,显示主窗口 | |||
if (new frmOperationPwd().ShowDialog() == DialogResult.OK) | |||
Application.Run(new frmSyncParams()); | |||
} | |||
} | |||
} | |||
else | |||
{ | |||
// 已激活,直接显示主窗口 | |||
if (new frmOperationPwd().ShowDialog() == DialogResult.OK) | |||
Application.Run(new frmSyncParams()); | |||
} | |||
} | |||
else | |||
MessageBox.Show(strMsg); | |||
@@ -12,7 +12,7 @@ namespace CNAS_DBSync.Properties { | |||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | |||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] | |||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] | |||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { | |||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); | |||
@@ -26,11 +26,20 @@ namespace CNAS_DBSync.Properties { | |||
[global::System.Configuration.ApplicationScopedSettingAttribute()] | |||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] | |||
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)] | |||
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=E:\\JXD\\CNASClient\\CNAS_DBSync\\dll\\database.db")] | |||
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=C:\\DEV\\CNAS\\CNASClient\\CNAS_DBSync\\dll\\database.db")] | |||
public string ConnectionString { | |||
get { | |||
return ((string)(this["ConnectionString"])); | |||
} | |||
} | |||
[global::System.Configuration.ApplicationScopedSettingAttribute()] | |||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] | |||
[global::System.Configuration.DefaultSettingValueAttribute("")] | |||
public string SyncParamSize { | |||
get { | |||
return ((string)(this["SyncParamSize"])); | |||
} | |||
} | |||
} | |||
} |
@@ -5,10 +5,13 @@ | |||
<Setting Name="ConnectionString" Type="(Connection string)" Scope="Application"> | |||
<DesignTimeValue Profile="(Default)"><?xml version="1.0" encoding="utf-16"?> | |||
<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | |||
<ConnectionString>Data Source=E:\JXD\CNASClient\CNAS_DBSync\dll\database.db</ConnectionString> | |||
<ConnectionString>Data Source=C:\DEV\CNAS\CNASClient\CNAS_DBSync\dll\database.db</ConnectionString> | |||
<ProviderName>Devart.Data.SQLite</ProviderName> | |||
</SerializableConnectionString></DesignTimeValue> | |||
<Value Profile="(Default)">Data Source=E:\JXD\CNASClient\CNAS_DBSync\dll\database.db</Value> | |||
<Value Profile="(Default)">Data Source=C:\DEV\CNAS\CNASClient\CNAS_DBSync\dll\database.db</Value> | |||
</Setting> | |||
<Setting Name="SyncParamSize" Type="System.String" Scope="Application"> | |||
<Value Profile="(Default)" /> | |||
</Setting> | |||
</Settings> | |||
</SettingsFile> |
@@ -37,7 +37,7 @@ | |||
this.tabExcel = new System.Windows.Forms.TabPage(); | |||
this.txtExcelAutoSql = new System.Windows.Forms.TextBox(); | |||
this.txtExcelAutoSqlName = new System.Windows.Forms.TextBox(); | |||
this.label1 = new System.Windows.Forms.Label(); | |||
this.lbExcelDynQuery = new System.Windows.Forms.Label(); | |||
this.cbxExcelReadFolder = new System.Windows.Forms.CheckBox(); | |||
this.cbxExcelReadFile = new System.Windows.Forms.CheckBox(); | |||
this.cbxExcelNewVersion = new System.Windows.Forms.CheckBox(); | |||
@@ -46,7 +46,7 @@ | |||
this.lblExcelRemoteUser = new System.Windows.Forms.Label(); | |||
this.txtExcelFileNameFormat = new System.Windows.Forms.TextBox(); | |||
this.cbxExcelOldVersion = new System.Windows.Forms.CheckBox(); | |||
this.label3 = new System.Windows.Forms.Label(); | |||
this.lbExcelDateFormat = new System.Windows.Forms.Label(); | |||
this.txtExcelSpecialDateColumnFormat = new System.Windows.Forms.TextBox(); | |||
this.tabFoxPro = new System.Windows.Forms.TabPage(); | |||
this.txtFoxProSpecialMethodName = new System.Windows.Forms.TextBox(); | |||
@@ -158,9 +158,9 @@ | |||
// | |||
this.pnlBottom.Controls.Add(this.btnOK); | |||
this.pnlBottom.Dock = System.Windows.Forms.DockStyle.Bottom; | |||
this.pnlBottom.Location = new System.Drawing.Point(0, 376); | |||
this.pnlBottom.Location = new System.Drawing.Point(0, 504); | |||
this.pnlBottom.Name = "pnlBottom"; | |||
this.pnlBottom.Size = new System.Drawing.Size(669, 42); | |||
this.pnlBottom.Size = new System.Drawing.Size(936, 42); | |||
this.pnlBottom.TabIndex = 3; | |||
// | |||
// pnlTop | |||
@@ -168,7 +168,7 @@ | |||
this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top; | |||
this.pnlTop.Location = new System.Drawing.Point(0, 0); | |||
this.pnlTop.Name = "pnlTop"; | |||
this.pnlTop.Size = new System.Drawing.Size(669, 10); | |||
this.pnlTop.Size = new System.Drawing.Size(936, 10); | |||
this.pnlTop.TabIndex = 2; | |||
// | |||
// pnlCenter | |||
@@ -177,7 +177,7 @@ | |||
this.pnlCenter.Dock = System.Windows.Forms.DockStyle.Fill; | |||
this.pnlCenter.Location = new System.Drawing.Point(0, 10); | |||
this.pnlCenter.Name = "pnlCenter"; | |||
this.pnlCenter.Size = new System.Drawing.Size(669, 366); | |||
this.pnlCenter.Size = new System.Drawing.Size(936, 494); | |||
this.pnlCenter.TabIndex = 4; | |||
// | |||
// tabcDS | |||
@@ -194,7 +194,7 @@ | |||
this.tabcDS.Location = new System.Drawing.Point(0, 0); | |||
this.tabcDS.Name = "tabcDS"; | |||
this.tabcDS.SelectedIndex = 0; | |||
this.tabcDS.Size = new System.Drawing.Size(669, 366); | |||
this.tabcDS.Size = new System.Drawing.Size(936, 494); | |||
this.tabcDS.TabIndex = 7; | |||
this.tabcDS.Selected += new System.Windows.Forms.TabControlEventHandler(this.tabcDS_Selected); | |||
// | |||
@@ -202,7 +202,7 @@ | |||
// | |||
this.tabExcel.Controls.Add(this.txtExcelAutoSql); | |||
this.tabExcel.Controls.Add(this.txtExcelAutoSqlName); | |||
this.tabExcel.Controls.Add(this.label1); | |||
this.tabExcel.Controls.Add(this.lbExcelDynQuery); | |||
this.tabExcel.Controls.Add(this.cbxExcelReadFolder); | |||
this.tabExcel.Controls.Add(this.cbxExcelReadFile); | |||
this.tabExcel.Controls.Add(this.cbxExcelNewVersion); | |||
@@ -211,12 +211,12 @@ | |||
this.tabExcel.Controls.Add(this.lblExcelRemoteUser); | |||
this.tabExcel.Controls.Add(this.txtExcelFileNameFormat); | |||
this.tabExcel.Controls.Add(this.cbxExcelOldVersion); | |||
this.tabExcel.Controls.Add(this.label3); | |||
this.tabExcel.Controls.Add(this.lbExcelDateFormat); | |||
this.tabExcel.Controls.Add(this.txtExcelSpecialDateColumnFormat); | |||
this.tabExcel.Location = new System.Drawing.Point(4, 26); | |||
this.tabExcel.Location = new System.Drawing.Point(8, 45); | |||
this.tabExcel.Name = "tabExcel"; | |||
this.tabExcel.Padding = new System.Windows.Forms.Padding(3); | |||
this.tabExcel.Size = new System.Drawing.Size(661, 336); | |||
this.tabExcel.Size = new System.Drawing.Size(920, 441); | |||
this.tabExcel.TabIndex = 0; | |||
this.tabExcel.Text = "Excel"; | |||
this.tabExcel.UseVisualStyleBackColor = true; | |||
@@ -226,7 +226,7 @@ | |||
this.txtExcelAutoSql.Location = new System.Drawing.Point(209, 193); | |||
this.txtExcelAutoSql.Multiline = true; | |||
this.txtExcelAutoSql.Name = "txtExcelAutoSql"; | |||
this.txtExcelAutoSql.Size = new System.Drawing.Size(286, 101); | |||
this.txtExcelAutoSql.Size = new System.Drawing.Size(501, 184); | |||
this.txtExcelAutoSql.TabIndex = 48; | |||
this.txtExcelAutoSql.Enter += new System.EventHandler(this.txtExcelAutoSql_Enter); | |||
this.txtExcelAutoSql.Leave += new System.EventHandler(this.txtExcelAutoSql_Leave); | |||
@@ -235,26 +235,26 @@ | |||
// | |||
this.txtExcelAutoSqlName.Location = new System.Drawing.Point(209, 158); | |||
this.txtExcelAutoSqlName.Name = "txtExcelAutoSqlName"; | |||
this.txtExcelAutoSqlName.Size = new System.Drawing.Size(230, 23); | |||
this.txtExcelAutoSqlName.Size = new System.Drawing.Size(230, 39); | |||
this.txtExcelAutoSqlName.TabIndex = 47; | |||
this.txtExcelAutoSqlName.Enter += new System.EventHandler(this.txtExcelAutoSqlName_Enter); | |||
this.txtExcelAutoSqlName.Leave += new System.EventHandler(this.txtExcelAutoSqlName_Leave); | |||
// | |||
// label1 | |||
// lbExcelDynQuery | |||
// | |||
this.label1.AutoSize = true; | |||
this.label1.Location = new System.Drawing.Point(97, 161); | |||
this.label1.Name = "label1"; | |||
this.label1.Size = new System.Drawing.Size(104, 17); | |||
this.label1.TabIndex = 46; | |||
this.label1.Text = "自定义查询语句:"; | |||
this.lbExcelDynQuery.AutoSize = true; | |||
this.lbExcelDynQuery.Location = new System.Drawing.Point(97, 161); | |||
this.lbExcelDynQuery.Name = "lbExcelDynQuery"; | |||
this.lbExcelDynQuery.Size = new System.Drawing.Size(206, 31); | |||
this.lbExcelDynQuery.TabIndex = 46; | |||
this.lbExcelDynQuery.Text = "自定义查询语句:"; | |||
// | |||
// cbxExcelReadFolder | |||
// | |||
this.cbxExcelReadFolder.AutoSize = true; | |||
this.cbxExcelReadFolder.Location = new System.Drawing.Point(298, 121); | |||
this.cbxExcelReadFolder.Location = new System.Drawing.Point(561, 121); | |||
this.cbxExcelReadFolder.Name = "cbxExcelReadFolder"; | |||
this.cbxExcelReadFolder.Size = new System.Drawing.Size(87, 21); | |||
this.cbxExcelReadFolder.Size = new System.Drawing.Size(166, 35); | |||
this.cbxExcelReadFolder.TabIndex = 32; | |||
this.cbxExcelReadFolder.Text = "读取文件夹"; | |||
this.cbxExcelReadFolder.UseVisualStyleBackColor = true; | |||
@@ -265,9 +265,9 @@ | |||
this.cbxExcelReadFile.AutoSize = true; | |||
this.cbxExcelReadFile.Checked = true; | |||
this.cbxExcelReadFile.CheckState = System.Windows.Forms.CheckState.Checked; | |||
this.cbxExcelReadFile.Location = new System.Drawing.Point(209, 121); | |||
this.cbxExcelReadFile.Location = new System.Drawing.Point(312, 121); | |||
this.cbxExcelReadFile.Name = "cbxExcelReadFile"; | |||
this.cbxExcelReadFile.Size = new System.Drawing.Size(75, 21); | |||
this.cbxExcelReadFile.Size = new System.Drawing.Size(142, 35); | |||
this.cbxExcelReadFile.TabIndex = 31; | |||
this.cbxExcelReadFile.Text = "读取文件"; | |||
this.cbxExcelReadFile.UseVisualStyleBackColor = true; | |||
@@ -276,9 +276,9 @@ | |||
// cbxExcelNewVersion | |||
// | |||
this.cbxExcelNewVersion.AutoSize = true; | |||
this.cbxExcelNewVersion.Location = new System.Drawing.Point(353, 14); | |||
this.cbxExcelNewVersion.Location = new System.Drawing.Point(561, 14); | |||
this.cbxExcelNewVersion.Name = "cbxExcelNewVersion"; | |||
this.cbxExcelNewVersion.Size = new System.Drawing.Size(139, 21); | |||
this.cbxExcelNewVersion.Size = new System.Drawing.Size(268, 35); | |||
this.cbxExcelNewVersion.TabIndex = 25; | |||
this.cbxExcelNewVersion.Text = "office 2007以后版本"; | |||
this.cbxExcelNewVersion.UseVisualStyleBackColor = true; | |||
@@ -289,7 +289,7 @@ | |||
this.label22.AutoSize = true; | |||
this.label22.Location = new System.Drawing.Point(90, 15); | |||
this.label22.Name = "label22"; | |||
this.label22.Size = new System.Drawing.Size(111, 17); | |||
this.label22.Size = new System.Drawing.Size(218, 31); | |||
this.label22.TabIndex = 24; | |||
this.label22.Text = "Office Excel版本:"; | |||
// | |||
@@ -298,7 +298,7 @@ | |||
this.lblExcelRemotePwd.AutoSize = true; | |||
this.lblExcelRemotePwd.Location = new System.Drawing.Point(60, 121); | |||
this.lblExcelRemotePwd.Name = "lblExcelRemotePwd"; | |||
this.lblExcelRemotePwd.Size = new System.Drawing.Size(141, 17); | |||
this.lblExcelRemotePwd.Size = new System.Drawing.Size(280, 31); | |||
this.lblExcelRemotePwd.TabIndex = 10; | |||
this.lblExcelRemotePwd.Text = "读取模式(文件/文件夹):"; | |||
// | |||
@@ -307,7 +307,7 @@ | |||
this.lblExcelRemoteUser.AutoSize = true; | |||
this.lblExcelRemoteUser.Location = new System.Drawing.Point(85, 87); | |||
this.lblExcelRemoteUser.Name = "lblExcelRemoteUser"; | |||
this.lblExcelRemoteUser.Size = new System.Drawing.Size(116, 17); | |||
this.lblExcelRemoteUser.Size = new System.Drawing.Size(230, 31); | |||
this.lblExcelRemoteUser.TabIndex = 8; | |||
this.lblExcelRemoteUser.Text = "自定义文件名格式:"; | |||
// | |||
@@ -315,7 +315,7 @@ | |||
// | |||
this.txtExcelFileNameFormat.Location = new System.Drawing.Point(207, 84); | |||
this.txtExcelFileNameFormat.Name = "txtExcelFileNameFormat"; | |||
this.txtExcelFileNameFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtExcelFileNameFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtExcelFileNameFormat.TabIndex = 6; | |||
this.txtExcelFileNameFormat.Enter += new System.EventHandler(this.txtExcelFileNameFormat_Enter); | |||
this.txtExcelFileNameFormat.Leave += new System.EventHandler(this.txtExcelFileNameFormat_Leave); | |||
@@ -325,28 +325,28 @@ | |||
this.cbxExcelOldVersion.AutoSize = true; | |||
this.cbxExcelOldVersion.Checked = true; | |||
this.cbxExcelOldVersion.CheckState = System.Windows.Forms.CheckState.Checked; | |||
this.cbxExcelOldVersion.Location = new System.Drawing.Point(208, 14); | |||
this.cbxExcelOldVersion.Location = new System.Drawing.Point(312, 14); | |||
this.cbxExcelOldVersion.Name = "cbxExcelOldVersion"; | |||
this.cbxExcelOldVersion.Size = new System.Drawing.Size(139, 21); | |||
this.cbxExcelOldVersion.Size = new System.Drawing.Size(268, 35); | |||
this.cbxExcelOldVersion.TabIndex = 4; | |||
this.cbxExcelOldVersion.Text = "office 2007以前版本"; | |||
this.cbxExcelOldVersion.UseVisualStyleBackColor = true; | |||
this.cbxExcelOldVersion.CheckedChanged += new System.EventHandler(this.cbxExcelOldVersion_CheckedChanged); | |||
// | |||
// label3 | |||
// lbExcelDateFormat | |||
// | |||
this.label3.AutoSize = true; | |||
this.label3.Location = new System.Drawing.Point(97, 50); | |||
this.label3.Name = "label3"; | |||
this.label3.Size = new System.Drawing.Size(104, 17); | |||
this.label3.TabIndex = 5; | |||
this.label3.Text = "日期列特殊格式:"; | |||
this.lbExcelDateFormat.AutoSize = true; | |||
this.lbExcelDateFormat.Location = new System.Drawing.Point(97, 50); | |||
this.lbExcelDateFormat.Name = "lbExcelDateFormat"; | |||
this.lbExcelDateFormat.Size = new System.Drawing.Size(206, 31); | |||
this.lbExcelDateFormat.TabIndex = 5; | |||
this.lbExcelDateFormat.Text = "日期列特殊格式:"; | |||
// | |||
// txtExcelSpecialDateColumnFormat | |||
// | |||
this.txtExcelSpecialDateColumnFormat.Location = new System.Drawing.Point(207, 47); | |||
this.txtExcelSpecialDateColumnFormat.Name = "txtExcelSpecialDateColumnFormat"; | |||
this.txtExcelSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtExcelSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtExcelSpecialDateColumnFormat.TabIndex = 5; | |||
this.txtExcelSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtExcelSpecialDateColumnFormat_Enter); | |||
this.txtExcelSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtExcelSpecialDateColumnFormat_Leave); | |||
@@ -366,10 +366,10 @@ | |||
this.tabFoxPro.Controls.Add(this.txtFoxProFileNameFormat); | |||
this.tabFoxPro.Controls.Add(this.label39); | |||
this.tabFoxPro.Controls.Add(this.txtFoxProSpecialDateColumnFormat); | |||
this.tabFoxPro.Location = new System.Drawing.Point(4, 26); | |||
this.tabFoxPro.Location = new System.Drawing.Point(8, 45); | |||
this.tabFoxPro.Name = "tabFoxPro"; | |||
this.tabFoxPro.Padding = new System.Windows.Forms.Padding(3); | |||
this.tabFoxPro.Size = new System.Drawing.Size(661, 336); | |||
this.tabFoxPro.Size = new System.Drawing.Size(920, 441); | |||
this.tabFoxPro.TabIndex = 6; | |||
this.tabFoxPro.Text = "FoxPro"; | |||
this.tabFoxPro.UseVisualStyleBackColor = true; | |||
@@ -378,7 +378,7 @@ | |||
// | |||
this.txtFoxProSpecialMethodName.Location = new System.Drawing.Point(213, 221); | |||
this.txtFoxProSpecialMethodName.Name = "txtFoxProSpecialMethodName"; | |||
this.txtFoxProSpecialMethodName.Size = new System.Drawing.Size(230, 23); | |||
this.txtFoxProSpecialMethodName.Size = new System.Drawing.Size(230, 39); | |||
this.txtFoxProSpecialMethodName.TabIndex = 65; | |||
this.txtFoxProSpecialMethodName.Enter += new System.EventHandler(this.txtFoxProSpecialMethodName_Enter); | |||
this.txtFoxProSpecialMethodName.Leave += new System.EventHandler(this.txtFoxProSpecialMethodName_Leave); | |||
@@ -398,7 +398,7 @@ | |||
this.label27.AutoSize = true; | |||
this.label27.Location = new System.Drawing.Point(133, 224); | |||
this.label27.Name = "label27"; | |||
this.label27.Size = new System.Drawing.Size(68, 17); | |||
this.label27.Size = new System.Drawing.Size(134, 31); | |||
this.label27.TabIndex = 64; | |||
this.label27.Text = "补充方法:"; | |||
// | |||
@@ -407,7 +407,7 @@ | |||
this.label33.AutoSize = true; | |||
this.label33.Location = new System.Drawing.Point(97, 127); | |||
this.label33.Name = "label33"; | |||
this.label33.Size = new System.Drawing.Size(104, 17); | |||
this.label33.Size = new System.Drawing.Size(206, 31); | |||
this.label33.TabIndex = 63; | |||
this.label33.Text = "自定义查询语句:"; | |||
// | |||
@@ -415,7 +415,7 @@ | |||
// | |||
this.txtFoxProAutoSqlName.Location = new System.Drawing.Point(213, 124); | |||
this.txtFoxProAutoSqlName.Name = "txtFoxProAutoSqlName"; | |||
this.txtFoxProAutoSqlName.Size = new System.Drawing.Size(230, 23); | |||
this.txtFoxProAutoSqlName.Size = new System.Drawing.Size(230, 39); | |||
this.txtFoxProAutoSqlName.TabIndex = 58; | |||
this.txtFoxProAutoSqlName.Enter += new System.EventHandler(this.txtFoxProAutoSqlName_Enter); | |||
this.txtFoxProAutoSqlName.Leave += new System.EventHandler(this.txtFoxProAutoSqlName_Leave); | |||
@@ -425,7 +425,7 @@ | |||
this.cbxFoxProReadFolder.AutoSize = true; | |||
this.cbxFoxProReadFolder.Location = new System.Drawing.Point(296, 14); | |||
this.cbxFoxProReadFolder.Name = "cbxFoxProReadFolder"; | |||
this.cbxFoxProReadFolder.Size = new System.Drawing.Size(87, 21); | |||
this.cbxFoxProReadFolder.Size = new System.Drawing.Size(166, 35); | |||
this.cbxFoxProReadFolder.TabIndex = 62; | |||
this.cbxFoxProReadFolder.Text = "读取文件夹"; | |||
this.cbxFoxProReadFolder.UseVisualStyleBackColor = true; | |||
@@ -448,7 +448,7 @@ | |||
this.cbxFoxProReadFile.CheckState = System.Windows.Forms.CheckState.Checked; | |||
this.cbxFoxProReadFile.Location = new System.Drawing.Point(215, 14); | |||
this.cbxFoxProReadFile.Name = "cbxFoxProReadFile"; | |||
this.cbxFoxProReadFile.Size = new System.Drawing.Size(75, 21); | |||
this.cbxFoxProReadFile.Size = new System.Drawing.Size(142, 35); | |||
this.cbxFoxProReadFile.TabIndex = 61; | |||
this.cbxFoxProReadFile.Text = "读取文件"; | |||
this.cbxFoxProReadFile.UseVisualStyleBackColor = true; | |||
@@ -459,7 +459,7 @@ | |||
this.label35.AutoSize = true; | |||
this.label35.Location = new System.Drawing.Point(60, 15); | |||
this.label35.Name = "label35"; | |||
this.label35.Size = new System.Drawing.Size(141, 17); | |||
this.label35.Size = new System.Drawing.Size(280, 31); | |||
this.label35.TabIndex = 53; | |||
this.label35.Text = "读取模式(文件/文件夹):"; | |||
// | |||
@@ -468,7 +468,7 @@ | |||
this.label38.AutoSize = true; | |||
this.label38.Location = new System.Drawing.Point(85, 90); | |||
this.label38.Name = "label38"; | |||
this.label38.Size = new System.Drawing.Size(116, 17); | |||
this.label38.Size = new System.Drawing.Size(230, 31); | |||
this.label38.TabIndex = 52; | |||
this.label38.Text = "自定义文件名格式:"; | |||
// | |||
@@ -476,7 +476,7 @@ | |||
// | |||
this.txtFoxProFileNameFormat.Location = new System.Drawing.Point(213, 87); | |||
this.txtFoxProFileNameFormat.Name = "txtFoxProFileNameFormat"; | |||
this.txtFoxProFileNameFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtFoxProFileNameFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtFoxProFileNameFormat.TabIndex = 51; | |||
this.txtFoxProFileNameFormat.Enter += new System.EventHandler(this.txtFoxProFileNameFormat_Enter); | |||
this.txtFoxProFileNameFormat.Leave += new System.EventHandler(this.txtFoxProFileNameFormat_Leave); | |||
@@ -486,7 +486,7 @@ | |||
this.label39.AutoSize = true; | |||
this.label39.Location = new System.Drawing.Point(97, 53); | |||
this.label39.Name = "label39"; | |||
this.label39.Size = new System.Drawing.Size(104, 17); | |||
this.label39.Size = new System.Drawing.Size(206, 31); | |||
this.label39.TabIndex = 49; | |||
this.label39.Text = "日期列特殊格式:"; | |||
// | |||
@@ -494,7 +494,7 @@ | |||
// | |||
this.txtFoxProSpecialDateColumnFormat.Location = new System.Drawing.Point(213, 50); | |||
this.txtFoxProSpecialDateColumnFormat.Name = "txtFoxProSpecialDateColumnFormat"; | |||
this.txtFoxProSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtFoxProSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtFoxProSpecialDateColumnFormat.TabIndex = 50; | |||
this.txtFoxProSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtFoxProSpecialDateColumnFormat_Enter); | |||
this.txtFoxProSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtFoxProSpecialDateColumnFormat_Leave); | |||
@@ -516,10 +516,10 @@ | |||
this.tabAccess.Controls.Add(this.cbxAccessOldVersion); | |||
this.tabAccess.Controls.Add(this.label31); | |||
this.tabAccess.Controls.Add(this.txtAccessSpecialDateColumnFormat); | |||
this.tabAccess.Location = new System.Drawing.Point(4, 26); | |||
this.tabAccess.Location = new System.Drawing.Point(8, 45); | |||
this.tabAccess.Name = "tabAccess"; | |||
this.tabAccess.Padding = new System.Windows.Forms.Padding(3); | |||
this.tabAccess.Size = new System.Drawing.Size(661, 336); | |||
this.tabAccess.Size = new System.Drawing.Size(920, 441); | |||
this.tabAccess.TabIndex = 1; | |||
this.tabAccess.Text = "Access"; | |||
this.tabAccess.UseVisualStyleBackColor = true; | |||
@@ -529,7 +529,7 @@ | |||
this.label2.AutoSize = true; | |||
this.label2.Location = new System.Drawing.Point(106, 53); | |||
this.label2.Name = "label2"; | |||
this.label2.Size = new System.Drawing.Size(95, 17); | |||
this.label2.Size = new System.Drawing.Size(187, 31); | |||
this.label2.TabIndex = 48; | |||
this.label2.Text = "Access后缀名:"; | |||
// | |||
@@ -537,7 +537,7 @@ | |||
// | |||
this.txtAccessSuffix.Location = new System.Drawing.Point(205, 50); | |||
this.txtAccessSuffix.Name = "txtAccessSuffix"; | |||
this.txtAccessSuffix.Size = new System.Drawing.Size(230, 23); | |||
this.txtAccessSuffix.Size = new System.Drawing.Size(230, 39); | |||
this.txtAccessSuffix.TabIndex = 49; | |||
this.txtAccessSuffix.Enter += new System.EventHandler(this.txtAccessSuffix_Enter); | |||
this.txtAccessSuffix.Leave += new System.EventHandler(this.txtAccessSuffix_Leave); | |||
@@ -547,7 +547,7 @@ | |||
this.cbxAccessReadFolder.AutoSize = true; | |||
this.cbxAccessReadFolder.Location = new System.Drawing.Point(290, 161); | |||
this.cbxAccessReadFolder.Name = "cbxAccessReadFolder"; | |||
this.cbxAccessReadFolder.Size = new System.Drawing.Size(87, 21); | |||
this.cbxAccessReadFolder.Size = new System.Drawing.Size(166, 35); | |||
this.cbxAccessReadFolder.TabIndex = 47; | |||
this.cbxAccessReadFolder.Text = "读取文件夹"; | |||
this.cbxAccessReadFolder.UseVisualStyleBackColor = true; | |||
@@ -560,7 +560,7 @@ | |||
this.cbxAccessReadFile.CheckState = System.Windows.Forms.CheckState.Checked; | |||
this.cbxAccessReadFile.Location = new System.Drawing.Point(208, 161); | |||
this.cbxAccessReadFile.Name = "cbxAccessReadFile"; | |||
this.cbxAccessReadFile.Size = new System.Drawing.Size(75, 21); | |||
this.cbxAccessReadFile.Size = new System.Drawing.Size(142, 35); | |||
this.cbxAccessReadFile.TabIndex = 46; | |||
this.cbxAccessReadFile.Text = "读取文件"; | |||
this.cbxAccessReadFile.UseVisualStyleBackColor = true; | |||
@@ -580,7 +580,7 @@ | |||
// | |||
this.txtAccessAutoSqlName.Location = new System.Drawing.Point(205, 195); | |||
this.txtAccessAutoSqlName.Name = "txtAccessAutoSqlName"; | |||
this.txtAccessAutoSqlName.Size = new System.Drawing.Size(230, 23); | |||
this.txtAccessAutoSqlName.Size = new System.Drawing.Size(230, 39); | |||
this.txtAccessAutoSqlName.TabIndex = 43; | |||
this.txtAccessAutoSqlName.Enter += new System.EventHandler(this.txtAccessAutoSqlName_Enter); | |||
this.txtAccessAutoSqlName.Leave += new System.EventHandler(this.txtAccessAutoSqlName_Leave); | |||
@@ -590,7 +590,7 @@ | |||
this.label11.AutoSize = true; | |||
this.label11.Location = new System.Drawing.Point(97, 198); | |||
this.label11.Name = "label11"; | |||
this.label11.Size = new System.Drawing.Size(104, 17); | |||
this.label11.Size = new System.Drawing.Size(206, 31); | |||
this.label11.TabIndex = 41; | |||
this.label11.Text = "自定义查询语句:"; | |||
// | |||
@@ -599,7 +599,7 @@ | |||
this.cbxAccessNewVersion.AutoSize = true; | |||
this.cbxAccessNewVersion.Location = new System.Drawing.Point(352, 14); | |||
this.cbxAccessNewVersion.Name = "cbxAccessNewVersion"; | |||
this.cbxAccessNewVersion.Size = new System.Drawing.Size(139, 21); | |||
this.cbxAccessNewVersion.Size = new System.Drawing.Size(268, 35); | |||
this.cbxAccessNewVersion.TabIndex = 40; | |||
this.cbxAccessNewVersion.Text = "office 2007以后版本"; | |||
this.cbxAccessNewVersion.UseVisualStyleBackColor = true; | |||
@@ -610,7 +610,7 @@ | |||
this.label15.AutoSize = true; | |||
this.label15.Location = new System.Drawing.Point(80, 15); | |||
this.label15.Name = "label15"; | |||
this.label15.Size = new System.Drawing.Size(121, 17); | |||
this.label15.Size = new System.Drawing.Size(238, 31); | |||
this.label15.TabIndex = 39; | |||
this.label15.Text = "Office Access版本:"; | |||
// | |||
@@ -619,7 +619,7 @@ | |||
this.label16.AutoSize = true; | |||
this.label16.Location = new System.Drawing.Point(60, 161); | |||
this.label16.Name = "label16"; | |||
this.label16.Size = new System.Drawing.Size(141, 17); | |||
this.label16.Size = new System.Drawing.Size(280, 31); | |||
this.label16.TabIndex = 38; | |||
this.label16.Text = "读取模式(文件/文件夹):"; | |||
// | |||
@@ -628,7 +628,7 @@ | |||
this.label21.AutoSize = true; | |||
this.label21.Location = new System.Drawing.Point(85, 127); | |||
this.label21.Name = "label21"; | |||
this.label21.Size = new System.Drawing.Size(116, 17); | |||
this.label21.Size = new System.Drawing.Size(230, 31); | |||
this.label21.TabIndex = 37; | |||
this.label21.Text = "自定义文件名格式:"; | |||
// | |||
@@ -636,7 +636,7 @@ | |||
// | |||
this.txtAccessFileName.Location = new System.Drawing.Point(205, 124); | |||
this.txtAccessFileName.Name = "txtAccessFileName"; | |||
this.txtAccessFileName.Size = new System.Drawing.Size(230, 23); | |||
this.txtAccessFileName.Size = new System.Drawing.Size(230, 39); | |||
this.txtAccessFileName.TabIndex = 36; | |||
this.txtAccessFileName.Enter += new System.EventHandler(this.txtAccessFileName_Enter); | |||
this.txtAccessFileName.Leave += new System.EventHandler(this.txtAccessFileName_Leave); | |||
@@ -648,7 +648,7 @@ | |||
this.cbxAccessOldVersion.CheckState = System.Windows.Forms.CheckState.Checked; | |||
this.cbxAccessOldVersion.Location = new System.Drawing.Point(206, 14); | |||
this.cbxAccessOldVersion.Name = "cbxAccessOldVersion"; | |||
this.cbxAccessOldVersion.Size = new System.Drawing.Size(139, 21); | |||
this.cbxAccessOldVersion.Size = new System.Drawing.Size(268, 35); | |||
this.cbxAccessOldVersion.TabIndex = 33; | |||
this.cbxAccessOldVersion.Text = "office 2007以前版本"; | |||
this.cbxAccessOldVersion.UseVisualStyleBackColor = true; | |||
@@ -659,7 +659,7 @@ | |||
this.label31.AutoSize = true; | |||
this.label31.Location = new System.Drawing.Point(97, 90); | |||
this.label31.Name = "label31"; | |||
this.label31.Size = new System.Drawing.Size(104, 17); | |||
this.label31.Size = new System.Drawing.Size(206, 31); | |||
this.label31.TabIndex = 34; | |||
this.label31.Text = "日期列特殊格式:"; | |||
// | |||
@@ -667,7 +667,7 @@ | |||
// | |||
this.txtAccessSpecialDateColumnFormat.Location = new System.Drawing.Point(205, 87); | |||
this.txtAccessSpecialDateColumnFormat.Name = "txtAccessSpecialDateColumnFormat"; | |||
this.txtAccessSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtAccessSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtAccessSpecialDateColumnFormat.TabIndex = 35; | |||
this.txtAccessSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtAccessSpecialDateColumnFormat_Enter); | |||
this.txtAccessSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtAccessSpecialDateColumnFormat_Leave); | |||
@@ -684,9 +684,9 @@ | |||
this.tabSQLite.Controls.Add(this.txtSqliteFileNameFormat); | |||
this.tabSQLite.Controls.Add(this.label8); | |||
this.tabSQLite.Controls.Add(this.txtSqliteSpecialDateColumnFormat); | |||
this.tabSQLite.Location = new System.Drawing.Point(4, 26); | |||
this.tabSQLite.Location = new System.Drawing.Point(8, 45); | |||
this.tabSQLite.Name = "tabSQLite"; | |||
this.tabSQLite.Size = new System.Drawing.Size(661, 336); | |||
this.tabSQLite.Size = new System.Drawing.Size(920, 441); | |||
this.tabSQLite.TabIndex = 2; | |||
this.tabSQLite.Text = "SQLLite"; | |||
this.tabSQLite.UseVisualStyleBackColor = true; | |||
@@ -696,7 +696,7 @@ | |||
this.label5.AutoSize = true; | |||
this.label5.Location = new System.Drawing.Point(97, 123); | |||
this.label5.Name = "label5"; | |||
this.label5.Size = new System.Drawing.Size(104, 17); | |||
this.label5.Size = new System.Drawing.Size(206, 31); | |||
this.label5.TabIndex = 76; | |||
this.label5.Text = "自定义查询语句:"; | |||
// | |||
@@ -704,7 +704,7 @@ | |||
// | |||
this.txtSqliteAutoSqlName.Location = new System.Drawing.Point(206, 120); | |||
this.txtSqliteAutoSqlName.Name = "txtSqliteAutoSqlName"; | |||
this.txtSqliteAutoSqlName.Size = new System.Drawing.Size(230, 23); | |||
this.txtSqliteAutoSqlName.Size = new System.Drawing.Size(230, 39); | |||
this.txtSqliteAutoSqlName.TabIndex = 72; | |||
this.txtSqliteAutoSqlName.Enter += new System.EventHandler(this.txtSqliteAutoSqlName_Enter); | |||
this.txtSqliteAutoSqlName.Leave += new System.EventHandler(this.txtSqliteAutoSqlName_Leave); | |||
@@ -714,7 +714,7 @@ | |||
this.cbxSqliteReadFolder.AutoSize = true; | |||
this.cbxSqliteReadFolder.Location = new System.Drawing.Point(288, 15); | |||
this.cbxSqliteReadFolder.Name = "cbxSqliteReadFolder"; | |||
this.cbxSqliteReadFolder.Size = new System.Drawing.Size(87, 21); | |||
this.cbxSqliteReadFolder.Size = new System.Drawing.Size(166, 35); | |||
this.cbxSqliteReadFolder.TabIndex = 75; | |||
this.cbxSqliteReadFolder.Text = "读取文件夹"; | |||
this.cbxSqliteReadFolder.UseVisualStyleBackColor = true; | |||
@@ -737,7 +737,7 @@ | |||
this.cbxSqliteReadFile.CheckState = System.Windows.Forms.CheckState.Checked; | |||
this.cbxSqliteReadFile.Location = new System.Drawing.Point(206, 15); | |||
this.cbxSqliteReadFile.Name = "cbxSqliteReadFile"; | |||
this.cbxSqliteReadFile.Size = new System.Drawing.Size(75, 21); | |||
this.cbxSqliteReadFile.Size = new System.Drawing.Size(142, 35); | |||
this.cbxSqliteReadFile.TabIndex = 74; | |||
this.cbxSqliteReadFile.Text = "读取文件"; | |||
this.cbxSqliteReadFile.UseVisualStyleBackColor = true; | |||
@@ -748,7 +748,7 @@ | |||
this.label6.AutoSize = true; | |||
this.label6.Location = new System.Drawing.Point(60, 16); | |||
this.label6.Name = "label6"; | |||
this.label6.Size = new System.Drawing.Size(141, 17); | |||
this.label6.Size = new System.Drawing.Size(280, 31); | |||
this.label6.TabIndex = 71; | |||
this.label6.Text = "读取模式(文件/文件夹):"; | |||
// | |||
@@ -757,7 +757,7 @@ | |||
this.label7.AutoSize = true; | |||
this.label7.Location = new System.Drawing.Point(85, 88); | |||
this.label7.Name = "label7"; | |||
this.label7.Size = new System.Drawing.Size(116, 17); | |||
this.label7.Size = new System.Drawing.Size(230, 31); | |||
this.label7.TabIndex = 70; | |||
this.label7.Text = "自定义文件名格式:"; | |||
// | |||
@@ -765,7 +765,7 @@ | |||
// | |||
this.txtSqliteFileNameFormat.Location = new System.Drawing.Point(206, 85); | |||
this.txtSqliteFileNameFormat.Name = "txtSqliteFileNameFormat"; | |||
this.txtSqliteFileNameFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtSqliteFileNameFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtSqliteFileNameFormat.TabIndex = 69; | |||
this.txtSqliteFileNameFormat.Enter += new System.EventHandler(this.txtSqliteFileNameFormat_Enter); | |||
this.txtSqliteFileNameFormat.Leave += new System.EventHandler(this.txtSqliteFileNameFormat_Leave); | |||
@@ -775,7 +775,7 @@ | |||
this.label8.AutoSize = true; | |||
this.label8.Location = new System.Drawing.Point(97, 53); | |||
this.label8.Name = "label8"; | |||
this.label8.Size = new System.Drawing.Size(104, 17); | |||
this.label8.Size = new System.Drawing.Size(206, 31); | |||
this.label8.TabIndex = 67; | |||
this.label8.Text = "日期列特殊格式:"; | |||
// | |||
@@ -783,7 +783,7 @@ | |||
// | |||
this.txtSqliteSpecialDateColumnFormat.Location = new System.Drawing.Point(206, 50); | |||
this.txtSqliteSpecialDateColumnFormat.Name = "txtSqliteSpecialDateColumnFormat"; | |||
this.txtSqliteSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtSqliteSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtSqliteSpecialDateColumnFormat.TabIndex = 68; | |||
this.txtSqliteSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtSqliteSpecialDateColumnFormat_Enter); | |||
this.txtSqliteSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtSqliteSpecialDateColumnFormat_Leave); | |||
@@ -797,9 +797,9 @@ | |||
this.tabSQLServer.Controls.Add(this.txtSqlServerConnection); | |||
this.tabSQLServer.Controls.Add(this.label13); | |||
this.tabSQLServer.Controls.Add(this.txtSqlServerSpecialDateColumnFormat); | |||
this.tabSQLServer.Location = new System.Drawing.Point(4, 26); | |||
this.tabSQLServer.Location = new System.Drawing.Point(8, 45); | |||
this.tabSQLServer.Name = "tabSQLServer"; | |||
this.tabSQLServer.Size = new System.Drawing.Size(661, 336); | |||
this.tabSQLServer.Size = new System.Drawing.Size(920, 441); | |||
this.tabSQLServer.TabIndex = 3; | |||
this.tabSQLServer.Text = "SQL Server"; | |||
this.tabSQLServer.UseVisualStyleBackColor = true; | |||
@@ -809,7 +809,7 @@ | |||
this.label9.AutoSize = true; | |||
this.label9.Location = new System.Drawing.Point(98, 116); | |||
this.label9.Name = "label9"; | |||
this.label9.Size = new System.Drawing.Size(104, 17); | |||
this.label9.Size = new System.Drawing.Size(206, 31); | |||
this.label9.TabIndex = 76; | |||
this.label9.Text = "自定义查询语句:"; | |||
// | |||
@@ -817,7 +817,7 @@ | |||
// | |||
this.txtSqlServerAutoSqlName.Location = new System.Drawing.Point(208, 113); | |||
this.txtSqlServerAutoSqlName.Name = "txtSqlServerAutoSqlName"; | |||
this.txtSqlServerAutoSqlName.Size = new System.Drawing.Size(230, 23); | |||
this.txtSqlServerAutoSqlName.Size = new System.Drawing.Size(230, 39); | |||
this.txtSqlServerAutoSqlName.TabIndex = 72; | |||
this.txtSqlServerAutoSqlName.Enter += new System.EventHandler(this.txtSqlServerAutoSqlName_Enter); | |||
this.txtSqlServerAutoSqlName.Leave += new System.EventHandler(this.txtSqlServerAutoSqlName_Leave); | |||
@@ -837,7 +837,7 @@ | |||
this.label12.AutoSize = true; | |||
this.label12.Location = new System.Drawing.Point(86, 53); | |||
this.label12.Name = "label12"; | |||
this.label12.Size = new System.Drawing.Size(116, 17); | |||
this.label12.Size = new System.Drawing.Size(230, 31); | |||
this.label12.TabIndex = 70; | |||
this.label12.Text = "自定义连接字符串:"; | |||
// | |||
@@ -856,7 +856,7 @@ | |||
this.label13.AutoSize = true; | |||
this.label13.Location = new System.Drawing.Point(98, 18); | |||
this.label13.Name = "label13"; | |||
this.label13.Size = new System.Drawing.Size(104, 17); | |||
this.label13.Size = new System.Drawing.Size(206, 31); | |||
this.label13.TabIndex = 67; | |||
this.label13.Text = "日期列特殊格式:"; | |||
// | |||
@@ -864,7 +864,7 @@ | |||
// | |||
this.txtSqlServerSpecialDateColumnFormat.Location = new System.Drawing.Point(208, 15); | |||
this.txtSqlServerSpecialDateColumnFormat.Name = "txtSqlServerSpecialDateColumnFormat"; | |||
this.txtSqlServerSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtSqlServerSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtSqlServerSpecialDateColumnFormat.TabIndex = 68; | |||
this.txtSqlServerSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtSqlServerSpecialDateColumnFormat_Enter); | |||
this.txtSqlServerSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtSqlServerSpecialDateColumnFormat_Leave); | |||
@@ -876,9 +876,9 @@ | |||
this.tabMySql.Controls.Add(this.txtMySqlAutoSql); | |||
this.tabMySql.Controls.Add(this.label18); | |||
this.tabMySql.Controls.Add(this.txtMySqlSpecialDateColumnFormat); | |||
this.tabMySql.Location = new System.Drawing.Point(4, 26); | |||
this.tabMySql.Location = new System.Drawing.Point(8, 45); | |||
this.tabMySql.Name = "tabMySql"; | |||
this.tabMySql.Size = new System.Drawing.Size(661, 336); | |||
this.tabMySql.Size = new System.Drawing.Size(920, 441); | |||
this.tabMySql.TabIndex = 4; | |||
this.tabMySql.Text = "MySql"; | |||
this.tabMySql.UseVisualStyleBackColor = true; | |||
@@ -888,7 +888,7 @@ | |||
this.label14.AutoSize = true; | |||
this.label14.Location = new System.Drawing.Point(99, 60); | |||
this.label14.Name = "label14"; | |||
this.label14.Size = new System.Drawing.Size(104, 17); | |||
this.label14.Size = new System.Drawing.Size(206, 31); | |||
this.label14.TabIndex = 86; | |||
this.label14.Text = "自定义查询语句:"; | |||
// | |||
@@ -896,7 +896,7 @@ | |||
// | |||
this.txtMySqlAutoSqlName.Location = new System.Drawing.Point(207, 57); | |||
this.txtMySqlAutoSqlName.Name = "txtMySqlAutoSqlName"; | |||
this.txtMySqlAutoSqlName.Size = new System.Drawing.Size(230, 23); | |||
this.txtMySqlAutoSqlName.Size = new System.Drawing.Size(230, 39); | |||
this.txtMySqlAutoSqlName.TabIndex = 84; | |||
this.txtMySqlAutoSqlName.Enter += new System.EventHandler(this.txtMySqlAutoSqlName_Enter); | |||
this.txtMySqlAutoSqlName.Leave += new System.EventHandler(this.txtMySqlAutoSqlName_Leave); | |||
@@ -916,7 +916,7 @@ | |||
this.label18.AutoSize = true; | |||
this.label18.Location = new System.Drawing.Point(97, 25); | |||
this.label18.Name = "label18"; | |||
this.label18.Size = new System.Drawing.Size(104, 17); | |||
this.label18.Size = new System.Drawing.Size(206, 31); | |||
this.label18.TabIndex = 80; | |||
this.label18.Text = "日期列特殊格式:"; | |||
// | |||
@@ -924,7 +924,7 @@ | |||
// | |||
this.txtMySqlSpecialDateColumnFormat.Location = new System.Drawing.Point(207, 22); | |||
this.txtMySqlSpecialDateColumnFormat.Name = "txtMySqlSpecialDateColumnFormat"; | |||
this.txtMySqlSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtMySqlSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtMySqlSpecialDateColumnFormat.TabIndex = 81; | |||
this.txtMySqlSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtMySqlSpecialDateColumnFormat_Enter); | |||
this.txtMySqlSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtMySqlSpecialDateColumnFormat_Leave); | |||
@@ -936,10 +936,10 @@ | |||
this.tabOracle.Controls.Add(this.txtOracleAutoSql); | |||
this.tabOracle.Controls.Add(this.label10); | |||
this.tabOracle.Controls.Add(this.txtOracleSpecialDateColumnFormat); | |||
this.tabOracle.Location = new System.Drawing.Point(4, 26); | |||
this.tabOracle.Location = new System.Drawing.Point(8, 45); | |||
this.tabOracle.Name = "tabOracle"; | |||
this.tabOracle.Padding = new System.Windows.Forms.Padding(3); | |||
this.tabOracle.Size = new System.Drawing.Size(661, 336); | |||
this.tabOracle.Size = new System.Drawing.Size(920, 441); | |||
this.tabOracle.TabIndex = 5; | |||
this.tabOracle.Text = "Oracle"; | |||
this.tabOracle.UseVisualStyleBackColor = true; | |||
@@ -949,7 +949,7 @@ | |||
this.label4.AutoSize = true; | |||
this.label4.Location = new System.Drawing.Point(102, 65); | |||
this.label4.Name = "label4"; | |||
this.label4.Size = new System.Drawing.Size(104, 17); | |||
this.label4.Size = new System.Drawing.Size(206, 31); | |||
this.label4.TabIndex = 91; | |||
this.label4.Text = "自定义查询语句:"; | |||
// | |||
@@ -957,7 +957,7 @@ | |||
// | |||
this.txtOracleAutoSqlName.Location = new System.Drawing.Point(210, 62); | |||
this.txtOracleAutoSqlName.Name = "txtOracleAutoSqlName"; | |||
this.txtOracleAutoSqlName.Size = new System.Drawing.Size(230, 23); | |||
this.txtOracleAutoSqlName.Size = new System.Drawing.Size(230, 39); | |||
this.txtOracleAutoSqlName.TabIndex = 89; | |||
this.txtOracleAutoSqlName.Enter += new System.EventHandler(this.txtOracleAutoSqlName_Enter); | |||
this.txtOracleAutoSqlName.Leave += new System.EventHandler(this.txtOracleAutoSqlName_Leave); | |||
@@ -977,7 +977,7 @@ | |||
this.label10.AutoSize = true; | |||
this.label10.Location = new System.Drawing.Point(97, 30); | |||
this.label10.Name = "label10"; | |||
this.label10.Size = new System.Drawing.Size(104, 17); | |||
this.label10.Size = new System.Drawing.Size(206, 31); | |||
this.label10.TabIndex = 87; | |||
this.label10.Text = "日期列特殊格式:"; | |||
// | |||
@@ -985,7 +985,7 @@ | |||
// | |||
this.txtOracleSpecialDateColumnFormat.Location = new System.Drawing.Point(210, 27); | |||
this.txtOracleSpecialDateColumnFormat.Name = "txtOracleSpecialDateColumnFormat"; | |||
this.txtOracleSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtOracleSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtOracleSpecialDateColumnFormat.TabIndex = 88; | |||
this.txtOracleSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtOracleSpecialDateColumnFormat_Enter); | |||
this.txtOracleSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtOracleSpecialDateColumnFormat_Leave); | |||
@@ -1010,10 +1010,10 @@ | |||
this.tabTxt.Controls.Add(this.txtNormalFileNameFormat); | |||
this.tabTxt.Controls.Add(this.label28); | |||
this.tabTxt.Controls.Add(this.txtNormalFileSpecialDateColumnFormat); | |||
this.tabTxt.Location = new System.Drawing.Point(4, 26); | |||
this.tabTxt.Location = new System.Drawing.Point(8, 45); | |||
this.tabTxt.Name = "tabTxt"; | |||
this.tabTxt.Padding = new System.Windows.Forms.Padding(3); | |||
this.tabTxt.Size = new System.Drawing.Size(661, 336); | |||
this.tabTxt.Size = new System.Drawing.Size(920, 441); | |||
this.tabTxt.TabIndex = 7; | |||
this.tabTxt.Text = "TXT"; | |||
this.tabTxt.UseVisualStyleBackColor = true; | |||
@@ -1025,7 +1025,7 @@ | |||
this.cbxNormalFileNoCustomDate.CheckState = System.Windows.Forms.CheckState.Checked; | |||
this.cbxNormalFileNoCustomDate.Location = new System.Drawing.Point(270, 283); | |||
this.cbxNormalFileNoCustomDate.Name = "cbxNormalFileNoCustomDate"; | |||
this.cbxNormalFileNoCustomDate.Size = new System.Drawing.Size(39, 21); | |||
this.cbxNormalFileNoCustomDate.Size = new System.Drawing.Size(70, 35); | |||
this.cbxNormalFileNoCustomDate.TabIndex = 67; | |||
this.cbxNormalFileNoCustomDate.Text = "否"; | |||
this.cbxNormalFileNoCustomDate.UseVisualStyleBackColor = true; | |||
@@ -1036,7 +1036,7 @@ | |||
this.cbxNormalFileCustomDate.AutoSize = true; | |||
this.cbxNormalFileCustomDate.Location = new System.Drawing.Point(208, 283); | |||
this.cbxNormalFileCustomDate.Name = "cbxNormalFileCustomDate"; | |||
this.cbxNormalFileCustomDate.Size = new System.Drawing.Size(39, 21); | |||
this.cbxNormalFileCustomDate.Size = new System.Drawing.Size(70, 35); | |||
this.cbxNormalFileCustomDate.TabIndex = 66; | |||
this.cbxNormalFileCustomDate.Text = "是"; | |||
this.cbxNormalFileCustomDate.UseVisualStyleBackColor = true; | |||
@@ -1051,7 +1051,7 @@ | |||
0, | |||
0}); | |||
this.numNormalFileStartIndex.Name = "numNormalFileStartIndex"; | |||
this.numNormalFileStartIndex.Size = new System.Drawing.Size(120, 23); | |||
this.numNormalFileStartIndex.Size = new System.Drawing.Size(120, 39); | |||
this.numNormalFileStartIndex.TabIndex = 65; | |||
this.numNormalFileStartIndex.Value = new decimal(new int[] { | |||
1, | |||
@@ -1064,7 +1064,7 @@ | |||
this.label20.AutoSize = true; | |||
this.label20.Location = new System.Drawing.Point(61, 283); | |||
this.label20.Name = "label20"; | |||
this.label20.Size = new System.Drawing.Size(140, 17); | |||
this.label20.Size = new System.Drawing.Size(278, 31); | |||
this.label20.TabIndex = 64; | |||
this.label20.Text = "是否由系统创建日期列:"; | |||
// | |||
@@ -1073,7 +1073,7 @@ | |||
this.label19.AutoSize = true; | |||
this.label19.Location = new System.Drawing.Point(97, 248); | |||
this.label19.Name = "label19"; | |||
this.label19.Size = new System.Drawing.Size(104, 17); | |||
this.label19.Size = new System.Drawing.Size(206, 31); | |||
this.label19.TabIndex = 62; | |||
this.label19.Text = "数据行起始行号:"; | |||
// | |||
@@ -1082,7 +1082,7 @@ | |||
this.label17.AutoSize = true; | |||
this.label17.Location = new System.Drawing.Point(97, 209); | |||
this.label17.Name = "label17"; | |||
this.label17.Size = new System.Drawing.Size(104, 17); | |||
this.label17.Size = new System.Drawing.Size(206, 31); | |||
this.label17.TabIndex = 60; | |||
this.label17.Text = "分割数据行选型:"; | |||
// | |||
@@ -1090,7 +1090,7 @@ | |||
// | |||
this.txtNormalFileReadSplitMode.Location = new System.Drawing.Point(207, 206); | |||
this.txtNormalFileReadSplitMode.Name = "txtNormalFileReadSplitMode"; | |||
this.txtNormalFileReadSplitMode.Size = new System.Drawing.Size(230, 23); | |||
this.txtNormalFileReadSplitMode.Size = new System.Drawing.Size(230, 39); | |||
this.txtNormalFileReadSplitMode.TabIndex = 59; | |||
this.txtNormalFileReadSplitMode.Enter += new System.EventHandler(this.txtNormalFileReadSplitMode_Enter); | |||
this.txtNormalFileReadSplitMode.Leave += new System.EventHandler(this.txtNormalFileReadSplitMode_Leave); | |||
@@ -1100,7 +1100,7 @@ | |||
this.label30.AutoSize = true; | |||
this.label30.Location = new System.Drawing.Point(109, 170); | |||
this.label30.Name = "label30"; | |||
this.label30.Size = new System.Drawing.Size(92, 17); | |||
this.label30.Size = new System.Drawing.Size(182, 31); | |||
this.label30.TabIndex = 58; | |||
this.label30.Text = "读取方法选型:"; | |||
// | |||
@@ -1108,7 +1108,7 @@ | |||
// | |||
this.txtNormalFileReadDataMode.Location = new System.Drawing.Point(207, 167); | |||
this.txtNormalFileReadDataMode.Name = "txtNormalFileReadDataMode"; | |||
this.txtNormalFileReadDataMode.Size = new System.Drawing.Size(230, 23); | |||
this.txtNormalFileReadDataMode.Size = new System.Drawing.Size(230, 39); | |||
this.txtNormalFileReadDataMode.TabIndex = 57; | |||
this.txtNormalFileReadDataMode.Enter += new System.EventHandler(this.txtNormalFileReadDataMode_Enter); | |||
this.txtNormalFileReadDataMode.Leave += new System.EventHandler(this.txtNormalFileReadDataMode_Leave); | |||
@@ -1118,7 +1118,7 @@ | |||
this.label29.AutoSize = true; | |||
this.label29.Location = new System.Drawing.Point(85, 132); | |||
this.label29.Name = "label29"; | |||
this.label29.Size = new System.Drawing.Size(116, 17); | |||
this.label29.Size = new System.Drawing.Size(230, 31); | |||
this.label29.TabIndex = 56; | |||
this.label29.Text = "自定义文件后缀名:"; | |||
// | |||
@@ -1126,7 +1126,7 @@ | |||
// | |||
this.txtNormalFileSuffix.Location = new System.Drawing.Point(207, 129); | |||
this.txtNormalFileSuffix.Name = "txtNormalFileSuffix"; | |||
this.txtNormalFileSuffix.Size = new System.Drawing.Size(230, 23); | |||
this.txtNormalFileSuffix.Size = new System.Drawing.Size(230, 39); | |||
this.txtNormalFileSuffix.TabIndex = 55; | |||
this.txtNormalFileSuffix.Enter += new System.EventHandler(this.txtNormalFileSuffix_Enter); | |||
this.txtNormalFileSuffix.Leave += new System.EventHandler(this.txtNormalFileSuffix_Leave); | |||
@@ -1136,7 +1136,7 @@ | |||
this.cbxNormalFileReadFolder.AutoSize = true; | |||
this.cbxNormalFileReadFolder.Location = new System.Drawing.Point(288, 20); | |||
this.cbxNormalFileReadFolder.Name = "cbxNormalFileReadFolder"; | |||
this.cbxNormalFileReadFolder.Size = new System.Drawing.Size(87, 21); | |||
this.cbxNormalFileReadFolder.Size = new System.Drawing.Size(166, 35); | |||
this.cbxNormalFileReadFolder.TabIndex = 54; | |||
this.cbxNormalFileReadFolder.Text = "读取文件夹"; | |||
this.cbxNormalFileReadFolder.UseVisualStyleBackColor = true; | |||
@@ -1149,7 +1149,7 @@ | |||
this.cbxNormalFileReadFile.CheckState = System.Windows.Forms.CheckState.Checked; | |||
this.cbxNormalFileReadFile.Location = new System.Drawing.Point(207, 20); | |||
this.cbxNormalFileReadFile.Name = "cbxNormalFileReadFile"; | |||
this.cbxNormalFileReadFile.Size = new System.Drawing.Size(75, 21); | |||
this.cbxNormalFileReadFile.Size = new System.Drawing.Size(142, 35); | |||
this.cbxNormalFileReadFile.TabIndex = 53; | |||
this.cbxNormalFileReadFile.Text = "读取文件"; | |||
this.cbxNormalFileReadFile.UseVisualStyleBackColor = true; | |||
@@ -1160,7 +1160,7 @@ | |||
this.label25.AutoSize = true; | |||
this.label25.Location = new System.Drawing.Point(60, 20); | |||
this.label25.Name = "label25"; | |||
this.label25.Size = new System.Drawing.Size(141, 17); | |||
this.label25.Size = new System.Drawing.Size(280, 31); | |||
this.label25.TabIndex = 52; | |||
this.label25.Text = "读取模式(文件/文件夹):"; | |||
// | |||
@@ -1169,7 +1169,7 @@ | |||
this.label26.AutoSize = true; | |||
this.label26.Location = new System.Drawing.Point(85, 93); | |||
this.label26.Name = "label26"; | |||
this.label26.Size = new System.Drawing.Size(116, 17); | |||
this.label26.Size = new System.Drawing.Size(230, 31); | |||
this.label26.TabIndex = 51; | |||
this.label26.Text = "自定义文件名格式:"; | |||
// | |||
@@ -1177,7 +1177,7 @@ | |||
// | |||
this.txtNormalFileNameFormat.Location = new System.Drawing.Point(207, 90); | |||
this.txtNormalFileNameFormat.Name = "txtNormalFileNameFormat"; | |||
this.txtNormalFileNameFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtNormalFileNameFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtNormalFileNameFormat.TabIndex = 50; | |||
this.txtNormalFileNameFormat.Enter += new System.EventHandler(this.txtNormalFileNameFormat_Enter); | |||
this.txtNormalFileNameFormat.Leave += new System.EventHandler(this.txtNormalFileNameFormat_Leave); | |||
@@ -1187,7 +1187,7 @@ | |||
this.label28.AutoSize = true; | |||
this.label28.Location = new System.Drawing.Point(97, 56); | |||
this.label28.Name = "label28"; | |||
this.label28.Size = new System.Drawing.Size(104, 17); | |||
this.label28.Size = new System.Drawing.Size(206, 31); | |||
this.label28.TabIndex = 48; | |||
this.label28.Text = "日期列特殊格式:"; | |||
// | |||
@@ -1195,7 +1195,7 @@ | |||
// | |||
this.txtNormalFileSpecialDateColumnFormat.Location = new System.Drawing.Point(207, 53); | |||
this.txtNormalFileSpecialDateColumnFormat.Name = "txtNormalFileSpecialDateColumnFormat"; | |||
this.txtNormalFileSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 23); | |||
this.txtNormalFileSpecialDateColumnFormat.Size = new System.Drawing.Size(230, 39); | |||
this.txtNormalFileSpecialDateColumnFormat.TabIndex = 49; | |||
this.txtNormalFileSpecialDateColumnFormat.Enter += new System.EventHandler(this.txtNormalFileSpecialDateColumnFormat_Enter); | |||
this.txtNormalFileSpecialDateColumnFormat.Leave += new System.EventHandler(this.txtNormalFileSpecialDateColumnFormat_Leave); | |||
@@ -1208,14 +1208,14 @@ | |||
this.pnlAll.Dock = System.Windows.Forms.DockStyle.Fill; | |||
this.pnlAll.Location = new System.Drawing.Point(0, 0); | |||
this.pnlAll.Name = "pnlAll"; | |||
this.pnlAll.Size = new System.Drawing.Size(669, 418); | |||
this.pnlAll.Size = new System.Drawing.Size(936, 546); | |||
this.pnlAll.TabIndex = 1; | |||
// | |||
// frmSourceSetting | |||
// | |||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); | |||
this.AutoScaleDimensions = new System.Drawing.SizeF(14F, 31F); | |||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | |||
this.ClientSize = new System.Drawing.Size(669, 418); | |||
this.ClientSize = new System.Drawing.Size(936, 546); | |||
this.Controls.Add(this.pnlAll); | |||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); | |||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); | |||
@@ -1225,6 +1225,8 @@ | |||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; | |||
this.Text = "数据来源设置"; | |||
this.Load += new System.EventHandler(this.frmSourceSetting_Load); | |||
this.Shown += new System.EventHandler(this.frmSourceSetting_Shown); | |||
this.Resize += new System.EventHandler(this.frmSourceSetting_Resize); | |||
this.pnlBottom.ResumeLayout(false); | |||
this.pnlCenter.ResumeLayout(false); | |||
this.tabcDS.ResumeLayout(false); | |||
@@ -1263,7 +1265,7 @@ | |||
private System.Windows.Forms.Label lblExcelRemoteUser; | |||
private System.Windows.Forms.TextBox txtExcelFileNameFormat; | |||
private System.Windows.Forms.CheckBox cbxExcelOldVersion; | |||
private System.Windows.Forms.Label label3; | |||
private System.Windows.Forms.Label lbExcelDateFormat; | |||
private System.Windows.Forms.TextBox txtExcelSpecialDateColumnFormat; | |||
private System.Windows.Forms.TabPage tabFoxPro; | |||
private System.Windows.Forms.TabPage tabAccess; | |||
@@ -1303,7 +1305,7 @@ | |||
private System.Windows.Forms.Label label27; | |||
private System.Windows.Forms.TextBox txtExcelAutoSql; | |||
private System.Windows.Forms.TextBox txtExcelAutoSqlName; | |||
private System.Windows.Forms.Label label1; | |||
private System.Windows.Forms.Label lbExcelDynQuery; | |||
private System.Windows.Forms.Label label5; | |||
private System.Windows.Forms.TextBox txtSqliteAutoSqlName; | |||
private System.Windows.Forms.CheckBox cbxSqliteReadFolder; | |||
@@ -959,8 +959,36 @@ namespace CNAS_DBSync | |||
{ | |||
cbxNormalFileCustomDate.Checked = !cbxNormalFileNoCustomDate.Checked; | |||
} | |||
#endregion | |||
private void frmSourceSetting_Resize(object sender, EventArgs e) | |||
{ | |||
arrayFields(); | |||
btnOK.Left = (this.Width - btnOK.Width) / 2; | |||
} | |||
private void frmSourceSetting_Shown(object sender, EventArgs e) | |||
{ | |||
arrayFields(); | |||
btnOK.Left = (this.Width - btnOK.Width) / 2; | |||
} | |||
private void arrayFields() { | |||
switch (tabcDS.SelectedIndex) | |||
{ | |||
case 0: | |||
FieldLine[] fields = { | |||
new FieldLine(lbExcelDateFormat,txtExcelSpecialDateColumnFormat), | |||
new FieldLine(lblExcelRemoteUser,txtExcelFileNameFormat), | |||
new FieldLine(lbExcelDynQuery,txtExcelAutoSqlName) | |||
}; | |||
FormSizeHelper.Arrange(tabExcel, fields); | |||
txtExcelAutoSql.Width = txtExcelAutoSqlName.Width; | |||
txtExcelAutoSql.Height = tabExcel.Height - txtExcelAutoSql.Top - 24; | |||
break; | |||
} | |||
} | |||
} | |||
} |
@@ -104,6 +104,8 @@ | |||
// | |||
// menuButton | |||
// | |||
this.menuButton.GripMargin = new System.Windows.Forms.Padding(2, 2, 0, 2); | |||
this.menuButton.ImageScalingSize = new System.Drawing.Size(24, 24); | |||
this.menuButton.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { | |||
this.tsmDbSeting, | |||
this.tsmSynchrousSetting, | |||
@@ -111,28 +113,29 @@ | |||
this.menuButton.Location = new System.Drawing.Point(0, 0); | |||
this.menuButton.Name = "menuButton"; | |||
this.menuButton.Padding = new System.Windows.Forms.Padding(7, 3, 0, 3); | |||
this.menuButton.Size = new System.Drawing.Size(934, 27); | |||
this.menuButton.Size = new System.Drawing.Size(934, 34); | |||
this.menuButton.TabIndex = 0; | |||
this.menuButton.Text = "menuStrip1"; | |||
this.menuButton.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.menuButton_ItemClicked); | |||
// | |||
// tsmDbSeting | |||
// | |||
this.tsmDbSeting.Name = "tsmDbSeting"; | |||
this.tsmDbSeting.Size = new System.Drawing.Size(96, 21); | |||
this.tsmDbSeting.Size = new System.Drawing.Size(139, 28); | |||
this.tsmDbSeting.Text = "数据库配置(&B)"; | |||
this.tsmDbSeting.Click += new System.EventHandler(this.tsmDbSeting_Click); | |||
// | |||
// tsmSynchrousSetting | |||
// | |||
this.tsmSynchrousSetting.Name = "tsmSynchrousSetting"; | |||
this.tsmSynchrousSetting.Size = new System.Drawing.Size(83, 21); | |||
this.tsmSynchrousSetting.Size = new System.Drawing.Size(120, 28); | |||
this.tsmSynchrousSetting.Text = "同步配置(&S)"; | |||
this.tsmSynchrousSetting.Click += new System.EventHandler(this.tsmSynchrousSetting_Click); | |||
// | |||
// tsmHelper | |||
// | |||
this.tsmHelper.Name = "tsmHelper"; | |||
this.tsmHelper.Size = new System.Drawing.Size(61, 21); | |||
this.tsmHelper.Size = new System.Drawing.Size(88, 28); | |||
this.tsmHelper.Text = "帮助(&H)"; | |||
this.tsmHelper.Click += new System.EventHandler(this.tsmHelper_Click); | |||
// | |||
@@ -174,7 +177,7 @@ | |||
// | |||
// frmSynchrousMain | |||
// | |||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); | |||
this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 24F); | |||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | |||
this.ClientSize = new System.Drawing.Size(944, 621); | |||
this.Controls.Add(this.pnlAll); | |||
@@ -109,5 +109,10 @@ namespace CNAS_RunSync | |||
//Help.ShowHelp(null, strHelpFilePath, HelpNavigator.TopicId, "1"); | |||
System.Diagnostics.Process.Start(strHelpFilePath); | |||
} | |||
private void menuButton_ItemClicked(object sender, ToolStripItemClickedEventArgs e) | |||
{ | |||
} | |||
} | |||
} |
@@ -84,7 +84,8 @@ namespace CNAS_SyncService | |||
strNowDate = DateTime.Now.ToString("yyyyMMdd"); | |||
//删除日志文件 | |||
string logDays = FileOperation.GetSystemFormatConfigData().ShowLogDays; | |||
if (int.TryParse(logDays, out int logday)) | |||
int logday; | |||
if (int.TryParse(logDays, out logday)) | |||
AppLog.DeleteLog(logday); | |||
} | |||
@@ -162,23 +162,27 @@ namespace CnasSynchronusClient | |||
ChangeStartEndSubStringConditonValue(item, drNewTarget); | |||
break; | |||
case MapCondition.Divided: | |||
if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out double db1)) | |||
double db1, db2; | |||
if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out db1)) | |||
{ | |||
if (double.TryParse(item.Value.ToString(), out double db2)) | |||
if (double.TryParse(item.Value.ToString(), out db2)) | |||
drNewTarget[item.ColumnName] = db1 / db2; | |||
} | |||
break; | |||
case MapCondition.Multiplied: | |||
if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out double db3)) | |||
double db3, db4; | |||
if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out db3)) | |||
{ | |||
if (double.TryParse(item.Value.ToString(), out double db4)) | |||
if (double.TryParse(item.Value.ToString(), out db4)) | |||
drNewTarget[item.ColumnName] = db3 * db4; | |||
} | |||
break; | |||
case MapCondition.DecimalDigits: | |||
if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out double db5)) | |||
double db5; | |||
int count; | |||
if (double.TryParse(drNewTarget[item.ColumnName].ToString(), out db5)) | |||
{ | |||
if (int.TryParse(item.Value.ToString(), out int count)) | |||
if (int.TryParse(item.Value.ToString(), out count)) | |||
drNewTarget[item.ColumnName] = Math.Round(db5, count); | |||
} | |||
break; | |||
@@ -344,6 +348,8 @@ namespace CnasSynchronusClient | |||
} | |||
else | |||
{ | |||
double result; | |||
double conditionresult; | |||
switch (item.Algorithm) | |||
{ | |||
case "=": | |||
@@ -360,22 +366,22 @@ namespace CnasSynchronusClient | |||
break; | |||
case ">": | |||
if (dr[item.ColumnName] != null) | |||
if (double.TryParse(dr[item.ColumnName].ToString(), out double result) && double.TryParse(item.ConditionValue, out double conditionresult)) | |||
if (double.TryParse(dr[item.ColumnName].ToString(), out result) && double.TryParse(item.ConditionValue, out conditionresult)) | |||
bIsMatch = result > conditionresult ? true : false; | |||
break; | |||
case "<": | |||
if (dr[item.ColumnName] != null) | |||
if (double.TryParse(dr[item.ColumnName].ToString(), out double result) && double.TryParse(item.ConditionValue, out double conditionresult)) | |||
if (double.TryParse(dr[item.ColumnName].ToString(), out result) && double.TryParse(item.ConditionValue, out conditionresult)) | |||
bIsMatch = result < conditionresult ? true : false; | |||
break; | |||
case ">=": | |||
if (dr[item.ColumnName] != null) | |||
if (double.TryParse(dr[item.ColumnName].ToString(), out double result) && double.TryParse(item.ConditionValue, out double conditionresult)) | |||
if (double.TryParse(dr[item.ColumnName].ToString(), out result) && double.TryParse(item.ConditionValue, out conditionresult)) | |||
bIsMatch = result >= conditionresult ? true : false; | |||
break; | |||
case "<=": | |||
if (dr[item.ColumnName] != null) | |||
if (double.TryParse(dr[item.ColumnName].ToString(), out double result) && double.TryParse(item.ConditionValue, out double conditionresult)) | |||
if (double.TryParse(dr[item.ColumnName].ToString(), out result) && double.TryParse(item.ConditionValue, out conditionresult)) | |||
bIsMatch = result <= conditionresult ? true : false; | |||
break; | |||
} | |||
@@ -490,6 +496,7 @@ namespace CnasSynchronusClient | |||
{ | |||
string strParam1 = strValues[0]; | |||
string strParam2 = strValues[2]; | |||
double db1, db2; | |||
string[] strParam1s = strParam1.Split(new string[] { "[", "]" }, StringSplitOptions.RemoveEmptyEntries); | |||
if (strParam1s.Length >= 1) | |||
@@ -498,9 +505,9 @@ namespace CnasSynchronusClient | |||
if (strParam2s.Length >= 1) | |||
{ | |||
if (dtReadySource.Columns.Contains(strParam1s[0]) && dtReadySource.Columns.Contains(strParam2s[0])) | |||
if (double.TryParse(drSource[strParam1s[0]].ToString(), out double db1)) | |||
if (double.TryParse(drSource[strParam1s[0]].ToString(), out db1)) | |||
{ | |||
if (double.TryParse(drSource[strParam2s[0]].ToString(), out double db2)) | |||
if (double.TryParse(drSource[strParam2s[0]].ToString(), out db2)) | |||
{ | |||
if (strParam1s.Length == 3) | |||
db1 = GetDividedMultipliedData(db1, strParam1s[1], strParam1s[2]); | |||
@@ -531,7 +538,8 @@ namespace CnasSynchronusClient | |||
/// <returns></returns> | |||
public double GetDividedMultipliedData(double db1, string strExpresstion, string strValue) | |||
{ | |||
if (double.TryParse(strValue, out double db2)) | |||
double db2; | |||
if (double.TryParse(strValue, out db2)) | |||
{ | |||
db1 = strExpresstion == "*" ? db1 * db2 : db1 / db2; | |||
} | |||
@@ -63,11 +63,21 @@ namespace CnasSynchronusClient | |||
return db2DataBaseService.GetMaxTimeByTableName(dataBase, strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue); | |||
} | |||
public DataTable GetTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
throw new NotImplementedException(); | |||
} | |||
public int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List<SyncParamasInfo> syncParamasInfos, string strInsturmentColumn, List<CnasConditionMapValue> lstFixedValue) | |||
{ | |||
return db2DataBaseService.InsertDataToCNASTable(dt, dataBase, syncParamasInfos, strInsturmentColumn, lstFixedValue); | |||
} | |||
public bool InsertTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
throw new NotImplementedException(); | |||
} | |||
public bool TestConnect(DataBaseInfo dataBase) | |||
{ | |||
return db2DataBaseService.TestConnect(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort); | |||
@@ -1,4 +1,6 @@ | |||
using CnasSynchrousModel; | |||
using CnasSynchronousCommon; | |||
using CnasSynchronusDAL; | |||
using CnasSynchrousModel; | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Data; | |||
@@ -52,6 +54,24 @@ namespace CnasSynchronusClient | |||
/// <param name="strMac"></param> | |||
/// <returns></returns> | |||
bool CheckMacMessage(DataBaseInfo dataBase, string strMac); | |||
/// <summary> | |||
/// 获取某个表的数据 | |||
/// </summary> | |||
/// <param name="dataBase"></param> | |||
/// <param name="strSql"></param> | |||
/// <returns></returns> | |||
DataTable GetTableData(DataBaseInfo dataBase, string strSql); | |||
/// <summary> | |||
/// 插入某个表的数据 | |||
/// </summary> | |||
/// <param name="dataBase"></param> | |||
/// <param name="strSql"></param> | |||
/// <returns></returns> | |||
bool InsertTableData(DataBaseInfo dataBase, string strSql); | |||
} | |||
@@ -1,4 +1,5 @@ | |||
using CnasSynchronusDAL; | |||
using CnasSynchronousCommon; | |||
using CnasSynchronusDAL; | |||
using CnasSynchronusIDAL; | |||
using CnasSynchrousModel; | |||
using System; | |||
@@ -73,5 +74,45 @@ namespace CnasSynchronusClient | |||
{ | |||
return mysqlDataBaseService.TestConnect(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort); | |||
} | |||
/// <summary> | |||
/// 获取某个表的数据 | |||
/// </summary> | |||
/// <param name="dataBase"></param> | |||
/// <param name="strSql"></param> | |||
/// <returns></returns> | |||
public DataTable GetTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
DataTable dt = new DataTable(); | |||
try | |||
{ | |||
dt = mysqlDataBaseService.GetTableData(dataBase, strSql); | |||
} | |||
catch (Exception ex) | |||
{ | |||
AppLog.Error(ex.Message); | |||
} | |||
return dt; | |||
} | |||
/// <summary> | |||
/// 插入某个表的数据 | |||
/// </summary> | |||
/// <param name="dataBase"></param> | |||
/// <param name="strSql"></param> | |||
/// <returns></returns> | |||
public bool InsertTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
try | |||
{ | |||
return mysqlDataBaseService.InsertTableData(dataBase, strSql); | |||
} | |||
catch (Exception ex) | |||
{ | |||
AppLog.Error(ex.Message); | |||
} | |||
return false; | |||
} | |||
} | |||
} |
@@ -321,5 +321,15 @@ namespace CnasSynchronusClient | |||
} | |||
return dt; | |||
} | |||
public DataTable GetTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
throw new NotImplementedException(); | |||
} | |||
public bool InsertTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
throw new NotImplementedException(); | |||
} | |||
} | |||
} |
@@ -46,11 +46,21 @@ namespace CnasSynchronusClient | |||
return oracleDatabaseService.GetMaxTimeByTableName(dataBase, strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue); | |||
} | |||
public DataTable GetTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
throw new System.NotImplementedException(); | |||
} | |||
public int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List<SyncParamasInfo> syncParamasInfos, string strInstrumentColumn, List<CnasConditionMapValue> lstFixedValue = null) | |||
{ | |||
return oracleDatabaseService.InsertDataToCNASTable(dt, dataBase, syncParamasInfos, strInstrumentColumn, lstFixedValue); | |||
} | |||
public bool InsertTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
throw new System.NotImplementedException(); | |||
} | |||
public bool TestConnect(DataBaseInfo dataBase) | |||
{ | |||
return oracleDatabaseService.TestConnect(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort); | |||
@@ -7,6 +7,7 @@ using MySql.Data.MySqlClient; | |||
using CnasSynchronousCommon; | |||
using CnasSynchrousModel; | |||
using System.Reflection; | |||
using Devart.Common; | |||
namespace CnasSynchronusDAL | |||
{ | |||
@@ -553,5 +554,44 @@ namespace CnasSynchronusDAL | |||
//返回数据 | |||
return dtNewFormat; | |||
} | |||
/// <summary> | |||
/// 获取某个表的数据 | |||
/// </summary> | |||
/// <param name="strSql"></param> | |||
/// <returns></returns> | |||
public DataTable GetTableData(string strSql) | |||
{ | |||
DataTable dt = new DataTable(); | |||
try | |||
{ | |||
dt = MySQLHelper.ExecuteDataSet(strSql).Tables[0]; | |||
} | |||
catch (Exception ex) | |||
{ | |||
AppLog.Error(ex.Message); | |||
} | |||
return dt; | |||
} | |||
/// <summary> | |||
/// 插入某个表的数据 | |||
/// </summary> | |||
/// <param name="strSql"></param> | |||
/// <returns></returns> | |||
public bool InsertTableData(string strSql) | |||
{ | |||
try | |||
{ | |||
return MySQLHelper.ExecuteNonQuery(strSql)>0; | |||
} | |||
catch (Exception ex) | |||
{ | |||
AppLog.Error(ex.Message); | |||
} | |||
return false; | |||
} | |||
} | |||
} |
@@ -55,6 +55,11 @@ namespace CnasSynchronusDAL | |||
return baseDAL.GetMaxTimeByTableName(strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue); | |||
} | |||
public DataTable GetTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
throw new NotImplementedException(); | |||
} | |||
public int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List<SyncParamasInfo> syncParamasInfos,string strInstrumentColumn, List<CnasConditionMapValue> lstFixedValue = null) | |||
{ | |||
SQLDB2DAL baseDAL = new SQLDB2DAL(); | |||
@@ -62,6 +67,11 @@ namespace CnasSynchronusDAL | |||
return baseDAL.InsertCnasData(dt, syncParamasInfos, strInstrumentColumn, lstFixedValue); | |||
} | |||
public bool InsertTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
throw new NotImplementedException(); | |||
} | |||
public bool TestConnect(string strHost, string strName, string strUser, string strPwd, string strPort) | |||
{ | |||
SQLDB2DAL basedal = new SQLDB2DAL(); | |||
@@ -1,6 +1,7 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Data; | |||
using System.Data.Entity; | |||
using System.Linq; | |||
using System.Text; | |||
using System.Threading.Tasks; | |||
@@ -106,6 +107,36 @@ namespace CnasSynchronusDAL | |||
MySQLDAL mySQLBase = new MySQLDAL(); | |||
mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); | |||
return mySQLBase.GetMaxTimeByTableName(strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue); | |||
} | |||
} | |||
/// <summary> | |||
/// 获取某个表的数据 | |||
/// </summary> | |||
/// <param name="dataBase"></param> | |||
/// <param name="strSql"></param> | |||
/// <returns></returns> | |||
public DataTable GetTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
MySQLDAL mySQLBase = new MySQLDAL(); | |||
mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); | |||
return mySQLBase.GetTableData(strSql); | |||
} | |||
/// <summary> | |||
/// 插入某个表的数据 | |||
/// </summary> | |||
/// <param name="dataBase"></param> | |||
/// <param name="strSql"></param> | |||
/// <returns></returns> | |||
public bool InsertTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
MySQLDAL mySQLBase = new MySQLDAL(); | |||
mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); | |||
return mySQLBase.InsertTableData(strSql); | |||
} | |||
} | |||
} |
@@ -75,12 +75,22 @@ namespace CnasSynchronusDAL | |||
return OracleDAL.GetMaxTimeByTableName(strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue); | |||
} | |||
public DataTable GetTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
throw new NotImplementedException(); | |||
} | |||
public int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List<SyncParamasInfo> syncParamasInfos, string strInstrumentColumn, List<CnasConditionMapValue> lstFixedValue = null) | |||
{ | |||
OracleDAL.CreateConnection(dataBase.DBHost, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd, dataBase.DBPort); | |||
return OracleDAL.InsertCnasData(dt, syncParamasInfos, lstFixedValue, strInstrumentColumn); | |||
} | |||
public bool InsertTableData(DataBaseInfo dataBase, string strSql) | |||
{ | |||
throw new NotImplementedException(); | |||
} | |||
public bool TestConnect(string strHost, string strName, string strUser, string strPwd, string strPort) | |||
{ | |||
OracleDAL.CreateConnection(strHost, strName, strUser, strPwd, strPort); | |||
@@ -44,7 +44,7 @@ namespace CnasSynchronusIDAL | |||
/// <param name="syncParamasInfos"></param> | |||
/// <param name="lstFixedValue"></param> | |||
/// <returns></returns> | |||
int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List<SyncParamasInfo> syncParamasInfos,string strInstrumentColumn,List<CnasConditionMapValue> lstFixedValue = null); | |||
int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List<SyncParamasInfo> syncParamasInfos, string strInstrumentColumn, List<CnasConditionMapValue> lstFixedValue = null); | |||
/// <summary> | |||
/// 获取所有表的数据类型和长度 | |||
@@ -61,7 +61,7 @@ namespace CnasSynchronusIDAL | |||
/// <param name="strTableName"></param> | |||
/// <param name="strDateColumn"></param> | |||
/// <returns></returns> | |||
string GetMaxTimeByTableName(DataBaseInfo dataBase, string strTableName, string strDateColumn,string strInstrumentColumn,string strInstrumentValue); | |||
string GetMaxTimeByTableName(DataBaseInfo dataBase, string strTableName, string strDateColumn, string strInstrumentColumn, string strInstrumentValue); | |||
/// <summary> | |||
/// 根据用户名密码获取登陆信息 | |||
@@ -79,5 +79,22 @@ namespace CnasSynchronusIDAL | |||
/// <param name="strMac"></param> | |||
/// <returns></returns> | |||
bool CheckMacMessage(DataBaseInfo dataBase, string strMac); | |||
/// <summary> | |||
/// | |||
/// </summary> | |||
/// <param name="dataBase"></param> | |||
/// <param name="strSql"></param> | |||
/// <returns></returns> | |||
DataTable GetTableData(DataBaseInfo dataBase, string strSql); | |||
/// <summary> | |||
/// 插入某个表的数据 | |||
/// </summary> | |||
/// <param name="dataBase"></param> | |||
/// <param name="strSql"></param> | |||
/// <returns></returns> | |||
bool InsertTableData(DataBaseInfo dataBase, string strSql); | |||
} | |||
} |
@@ -0,0 +1,49 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<configuration> | |||
<configSections> | |||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> | |||
</configSections> | |||
<appSettings> | |||
<add key="TargetDBType" value="Oracle"/> | |||
<add key="InitalOperationPwd" value="123456"/> | |||
<add key="StartWebApiUrl" value="0"/> | |||
</appSettings> | |||
<log4net> | |||
<logger name="Log"> | |||
<level value="INFO"/> | |||
<appender-ref ref="RollingLog"/> | |||
</logger> | |||
<logger name="Err"> | |||
<level value="ERROR"/> | |||
<appender-ref ref="RollingErr"/> | |||
</logger> | |||
<appender name="RollingLog" type="log4net.Appender.RollingFileAppender"> | |||
<file value="Log\"/> | |||
<appendToFile value="true"/> | |||
<rollingStyle value="Date"/> | |||
<datePattern value="yyyyMMdd'.txt'"/> | |||
<staticLogFileName value="false"/> | |||
<layout type="log4net.Layout.PatternLayout"> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 操作信息:%m%n"/> | |||
</layout> | |||
<filter type="log4net.Filter.LevelRangeFilter"> | |||
<param name="LevelMin" value="INFO"/> | |||
<param name="LevelMax" value="INFO"/> | |||
</filter> | |||
</appender> | |||
<appender name="RollingErr" type="log4net.Appender.RollingFileAppender"> | |||
<file value="ErrorLog\"/> | |||
<appendToFile value="true"/> | |||
<rollingStyle value="Date"/> | |||
<datePattern value="yyyyMMdd'.txt'"/> | |||
<staticLogFileName value="false"/> | |||
<layout type="log4net.Layout.PatternLayout"> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 错误描述:%m%n"/> | |||
</layout> | |||
<filter type="log4net.Filter.LevelRangeFilter"> | |||
<param name="LevelMin" value="ERROR"/> | |||
<param name="LevelMax" value="ERROR"/> | |||
</filter> | |||
</appender> | |||
</log4net> | |||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration> |
@@ -0,0 +1,11 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> | |||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> | |||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> | |||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> | |||
<security> | |||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> | |||
<requestedExecutionLevel level="asInvoker" uiAccess="false"/> | |||
</requestedPrivileges> | |||
</security> | |||
</trustInfo> | |||
</assembly> |
@@ -1,56 +1,56 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<configuration> | |||
<configSections> | |||
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" /> | |||
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> | |||
</configSections> | |||
<appSettings> | |||
<add key="TargetDBType" value="Mysql" /> | |||
<add key="InitalOperationPwd" value="123456" /> | |||
<add key="TargetDBType" value="Mysql"/> | |||
<add key="InitalOperationPwd" value="123456"/> | |||
</appSettings> | |||
<log4net> | |||
<logger name="Log"> | |||
<level value="INFO" /> | |||
<appender-ref ref="RollingLog" /> | |||
<level value="INFO"/> | |||
<appender-ref ref="RollingLog"/> | |||
</logger> | |||
<logger name="Err"> | |||
<level value="ERROR" /> | |||
<appender-ref ref="RollingErr" /> | |||
<level value="ERROR"/> | |||
<appender-ref ref="RollingErr"/> | |||
</logger> | |||
<appender name="RollingLog" type="log4net.Appender.RollingFileAppender"> | |||
<file value="Log\" /> | |||
<appendToFile value="true" /> | |||
<rollingStyle value="Date" /> | |||
<datePattern value="yyyyMMdd'.txt'" /> | |||
<staticLogFileName value="false" /> | |||
<file value="Log\"/> | |||
<appendToFile value="true"/> | |||
<rollingStyle value="Date"/> | |||
<datePattern value="yyyyMMdd'.txt'"/> | |||
<staticLogFileName value="false"/> | |||
<layout type="log4net.Layout.PatternLayout"> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 操作信息:%m%n" /> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 操作信息:%m%n"/> | |||
</layout> | |||
<filter type="log4net.Filter.LevelRangeFilter"> | |||
<param name="LevelMin" value="INFO" /> | |||
<param name="LevelMax" value="INFO" /> | |||
<param name="LevelMin" value="INFO"/> | |||
<param name="LevelMax" value="INFO"/> | |||
</filter> | |||
</appender> | |||
<appender name="RollingErr" type="log4net.Appender.RollingFileAppender"> | |||
<file value="ErrorLog\" /> | |||
<appendToFile value="true" /> | |||
<rollingStyle value="Date" /> | |||
<datePattern value="yyyyMMdd'.txt'" /> | |||
<staticLogFileName value="false" /> | |||
<file value="ErrorLog\"/> | |||
<appendToFile value="true"/> | |||
<rollingStyle value="Date"/> | |||
<datePattern value="yyyyMMdd'.txt'"/> | |||
<staticLogFileName value="false"/> | |||
<layout type="log4net.Layout.PatternLayout"> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 错误描述:%m%n" /> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 错误描述:%m%n"/> | |||
</layout> | |||
<filter type="log4net.Filter.LevelRangeFilter"> | |||
<param name="LevelMin" value="ERROR" /> | |||
<param name="LevelMax" value="ERROR" /> | |||
<param name="LevelMin" value="ERROR"/> | |||
<param name="LevelMax" value="ERROR"/> | |||
</filter> | |||
</appender> | |||
</log4net> | |||
<runtime> | |||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> | |||
<dependentAssembly> | |||
<assemblyIdentity name="Devart.Data" publicKeyToken="09af7300eec23701" culture="neutral" /> | |||
<bindingRedirect oldVersion="0.0.0.0-5.0.2194.0" newVersion="5.0.2194.0" /> | |||
<assemblyIdentity name="Devart.Data" publicKeyToken="09af7300eec23701" culture="neutral"/> | |||
<bindingRedirect oldVersion="0.0.0.0-5.0.2194.0" newVersion="5.0.2194.0"/> | |||
</dependentAssembly> | |||
</assemblyBinding> | |||
</runtime> | |||
</configuration> | |||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration> |
@@ -4,10 +4,15 @@ | |||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> | |||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> | |||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> | |||
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > | |||
<section name="CNAS_DBSync.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> | |||
</sectionGroup> | |||
</configSections> | |||
<connectionStrings> | |||
<add name="CoreDb" connectionString="Driver={IBM DB2 ODBC DRIVER};DataBase=SAMPLE; HostName=127.0.0.1; Protocol=TCPIP;Port=50000;Uid=db2admin;Pwd=123"/> | |||
<add name="CNAS_DBSync.Properties.Settings.ConnectionString" connectionString="Data Source=E:\JXD\CNASClient\CNAS_DBSync\dll\database.db" providerName="Devart.Data.SQLite"/> | |||
<add name="CoreDb" connectionString="Driver={IBM DB2 ODBC DRIVER};DataBase=SAMPLE; HostName=127.0.0.1; Protocol=TCPIP;Port=50000;Uid=db2admin;Pwd=123" /> | |||
<add name="CNAS_DBSync.Properties.Settings.ConnectionString" | |||
connectionString="Data Source=C:\DEV\CNAS\CNASClient\CNAS_DBSync\dll\database.db" | |||
providerName="Devart.Data.SQLite" /> | |||
</connectionStrings> | |||
<appSettings> | |||
<add key="TargetDBType" value="Mysql"/> | |||
@@ -72,4 +77,11 @@ | |||
</filter> | |||
</appender> | |||
</log4net> | |||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration> | |||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup><applicationSettings> | |||
<CNAS_DBSync.Properties.Settings> | |||
<setting name="SyncParamSize" serializeAs="String"> | |||
<value /> | |||
</setting> | |||
</CNAS_DBSync.Properties.Settings> | |||
</applicationSettings> | |||
</configuration> |
@@ -0,0 +1,87 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<configuration> | |||
<configSections> | |||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> | |||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> | |||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> | |||
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > | |||
<section name="CNAS_DBSync.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> | |||
</sectionGroup> | |||
</configSections> | |||
<connectionStrings> | |||
<add name="CoreDb" connectionString="Driver={IBM DB2 ODBC DRIVER};DataBase=SAMPLE; HostName=127.0.0.1; Protocol=TCPIP;Port=50000;Uid=db2admin;Pwd=123" /> | |||
<add name="CNAS_DBSync.Properties.Settings.ConnectionString" | |||
connectionString="Data Source=C:\DEV\CNAS\CNASClient\CNAS_DBSync\dll\database.db" | |||
providerName="Devart.Data.SQLite" /> | |||
</connectionStrings> | |||
<appSettings> | |||
<add key="TargetDBType" value="Mysql"/> | |||
<add key="InitalOperationPwd" value="123456"/> | |||
<add key="GetMacMethod" value="1"/> | |||
<add key="StartGeneralVersion" value="1"/> | |||
<add key="StartWebApiUrl" value="1"/> | |||
<add key="WebApiUrl" value="http://localhost:60101/api"/> | |||
</appSettings> | |||
<entityFramework> | |||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> | |||
<parameters> | |||
<parameter value="mssqllocaldb"/> | |||
</parameters> | |||
</defaultConnectionFactory> | |||
<providers> | |||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/> | |||
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/> | |||
</providers> | |||
</entityFramework> | |||
<system.data> | |||
<DbProviderFactories> | |||
<remove invariant="System.Data.SQLite.EF6"/> | |||
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6"/> | |||
<remove invariant="System.Data.SQLite"/><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/></DbProviderFactories> | |||
</system.data> | |||
<log4net> | |||
<logger name="Log"> | |||
<level value="INFO"/> | |||
<appender-ref ref="RollingLog"/> | |||
</logger> | |||
<logger name="Err"> | |||
<level value="ERROR"/> | |||
<appender-ref ref="RollingErr"/> | |||
</logger> | |||
<appender name="RollingLog" type="log4net.Appender.RollingFileAppender"> | |||
<file value="Log\"/> | |||
<appendToFile value="true"/> | |||
<rollingStyle value="Date"/> | |||
<datePattern value="yyyyMMdd'.txt'"/> | |||
<staticLogFileName value="false"/> | |||
<layout type="log4net.Layout.PatternLayout"> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 操作信息:%m%n"/> | |||
</layout> | |||
<filter type="log4net.Filter.LevelRangeFilter"> | |||
<param name="LevelMin" value="INFO"/> | |||
<param name="LevelMax" value="INFO"/> | |||
</filter> | |||
</appender> | |||
<appender name="RollingErr" type="log4net.Appender.RollingFileAppender"> | |||
<file value="ErrorLog\"/> | |||
<appendToFile value="true"/> | |||
<rollingStyle value="Date"/> | |||
<datePattern value="yyyyMMdd'.txt'"/> | |||
<staticLogFileName value="false"/> | |||
<layout type="log4net.Layout.PatternLayout"> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 错误描述:%m%n"/> | |||
</layout> | |||
<filter type="log4net.Filter.LevelRangeFilter"> | |||
<param name="LevelMin" value="ERROR"/> | |||
<param name="LevelMax" value="ERROR"/> | |||
</filter> | |||
</appender> | |||
</log4net> | |||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup><applicationSettings> | |||
<CNAS_DBSync.Properties.Settings> | |||
<setting name="SyncParamSize" serializeAs="String"> | |||
<value /> | |||
</setting> | |||
</CNAS_DBSync.Properties.Settings> | |||
</applicationSettings> | |||
</configuration> |
@@ -1,68 +1,68 @@ | |||
<?xml version="1.0" encoding="utf-8" ?> | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<configuration> | |||
<configSections> | |||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> | |||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> | |||
</configSections> | |||
<appSettings> | |||
<add key="TargetDBType" value="MySQL" /> | |||
<add key="InitalOperationPwd" value="123456" /> | |||
<add key="TargetDBType" value="MySQL"/> | |||
<add key="InitalOperationPwd" value="123456"/> | |||
<add key="StartWebApiUrl" value="0"/> | |||
<add key="WebApiUrl" value="http://localhost:60101/api"/> | |||
</appSettings> | |||
<log4net> | |||
<logger name="Log"> | |||
<level value="INFO" /> | |||
<appender-ref ref="RollingLog" /> | |||
<level value="INFO"/> | |||
<appender-ref ref="RollingLog"/> | |||
</logger> | |||
<logger name="Err"> | |||
<level value="ERROR" /> | |||
<appender-ref ref="RollingErr" /> | |||
<level value="ERROR"/> | |||
<appender-ref ref="RollingErr"/> | |||
</logger> | |||
<logger name="ServiceLog"> | |||
<level value="INFO" /> | |||
<appender-ref ref="RollingServiceLog" /> | |||
<level value="INFO"/> | |||
<appender-ref ref="RollingServiceLog"/> | |||
</logger> | |||
<appender name="RollingLog" type="log4net.Appender.RollingFileAppender"> | |||
<file value="Log\" /> | |||
<appendToFile value="true" /> | |||
<rollingStyle value="Date" /> | |||
<datePattern value="yyyyMMdd'.txt'" /> | |||
<staticLogFileName value="false" /> | |||
<file value="Log\"/> | |||
<appendToFile value="true"/> | |||
<rollingStyle value="Date"/> | |||
<datePattern value="yyyyMMdd'.txt'"/> | |||
<staticLogFileName value="false"/> | |||
<layout type="log4net.Layout.PatternLayout"> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 操作信息:%m%n" /> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 操作信息:%m%n"/> | |||
</layout> | |||
<filter type="log4net.Filter.LevelRangeFilter"> | |||
<param name="LevelMin" value="INFO" /> | |||
<param name="LevelMax" value="INFO" /> | |||
<param name="LevelMin" value="INFO"/> | |||
<param name="LevelMax" value="INFO"/> | |||
</filter> | |||
</appender> | |||
<appender name="RollingErr" type="log4net.Appender.RollingFileAppender"> | |||
<file value="ErrorLog\" /> | |||
<appendToFile value="true" /> | |||
<rollingStyle value="Date" /> | |||
<datePattern value="yyyyMMdd'.txt'" /> | |||
<staticLogFileName value="false" /> | |||
<file value="ErrorLog\"/> | |||
<appendToFile value="true"/> | |||
<rollingStyle value="Date"/> | |||
<datePattern value="yyyyMMdd'.txt'"/> | |||
<staticLogFileName value="false"/> | |||
<layout type="log4net.Layout.PatternLayout"> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 错误描述:%m%n" /> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 错误描述:%m%n"/> | |||
</layout> | |||
<filter type="log4net.Filter.LevelRangeFilter"> | |||
<param name="LevelMin" value="ERROR" /> | |||
<param name="LevelMax" value="ERROR" /> | |||
<param name="LevelMin" value="ERROR"/> | |||
<param name="LevelMax" value="ERROR"/> | |||
</filter> | |||
</appender> | |||
<appender name="RollingServiceLog" type="log4net.Appender.RollingFileAppender"> | |||
<file value="ServiceLog\" /> | |||
<appendToFile value="true" /> | |||
<rollingStyle value="Date" /> | |||
<datePattern value="yyyyMMdd'.txt'" /> | |||
<staticLogFileName value="false" /> | |||
<file value="ServiceLog\"/> | |||
<appendToFile value="true"/> | |||
<rollingStyle value="Date"/> | |||
<datePattern value="yyyyMMdd'.txt'"/> | |||
<staticLogFileName value="false"/> | |||
<layout type="log4net.Layout.PatternLayout"> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 信息描述:%m%n" /> | |||
<conversionPattern value="记录时间:%d 线程ID:[%thread]- 信息描述:%m%n"/> | |||
</layout> | |||
<filter type="log4net.Filter.LevelRangeFilter"> | |||
<param name="LevelMin" value="INFO" /> | |||
<param name="LevelMax" value="INFO" /> | |||
<param name="LevelMin" value="INFO"/> | |||
<param name="LevelMax" value="INFO"/> | |||
</filter> | |||
</appender> | |||
</log4net> | |||
</configuration> | |||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration> |
@@ -0,0 +1,4 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<Forms> | |||
<FormSyncParams>0,0,1727,1032,400</FormSyncParams> | |||
</Forms> |
@@ -1 +1 @@ | |||
/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCPd+s16KzzZc3RYrVagEFqWUlC2NWJgBLtc+tMLc2HJkq++Ewf/5QYIWw0dwMY90kkel2nmqRBK0dWfVWDOZOpdcAY+4YOYSFG98a3Wg3WLDyR5VozZDPfA41720qsQqCR1q7YoyEApjVWEQyk+r9gLfaCY8Z1EtVtdmrzpENRhrpsyi0u4Kb2RDuUW7nDgf4qfJbApbw7Kdae7ke6EMlO9V671gjh/78m404bQXztnKfgNOlb+A4bujFMxbSO41eL0IJrzvvEJQ4UoMTYj6zSUr6hRC60+eUBkB19OZr4zdksO5+a+okvRV58HMYgf+qt2ZJi/8hFoQ== | |||
/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCPd+s16KzzZc3RYrVagEFqWUlC2NWJgBLtc+tMLc2HJkq++Ewf/5QYIWw0dwMY90kkel2nmqRBK0dWfVWDOZOpdcAY+4YOYSFG98a3Wg3WLDyR5VozZDPfA41720qsQqCR1q7YoyEApjVWEQyk+r9gLfaCY8Z1EtUxembAlb3j7elM+qBGcYnXd5Pb8M4TpopE/5fZCldOXIhfqAk5bYu6iMgHtcRH42D9X1cWE/19FUCq04Rt4BZKODKJAiSIU3YFyq7VBU+Ii3NHnw592fpfu09SHAs65vjpijd31AKUJzpTkvhBIBo3sJhknfamWRI= |
@@ -1 +1 @@ | |||
/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCW1I/HueTuOJOcD40MLI2D0tMGBACgOQKJ6uY/zxinGkLrJDCtdmDmvCeR1n1Hv+sdVxRY8tWYGGLijvZWhOzTx+NIPsCCPxG2JhtyMdOmPXaw9rO2jOmxYYzqi+uTe4RSnvmlg2X5u1T39xZueFOnurq+m5Q3v1PRYgqU2LlZXdR+P4SwRnjM07xrUsBgEyB6DIJlrLWpuf3zIYTNaGpbsC4ELycWtPudfCVNDLSxlrKZyc9NpAT04XeJAwX8Lq2tp4OKijLU76pLxi1ISQOg2kkl+XdtRfktDNPOFSDAsFtMo4DoqH/YXyMh/Pa0dVcaDEkCdaDGD6QLi7OMnDephI7djzAxy1gTzaF3z4mGYx2zBU4lgOKBQi4IqPYP34yJnakvc7w6vYlbWwTSIZveu98wVuSo+z3C0CSK8MwitpWfFKvL9fb3kyvXuRKe9EU9gFfugDOl+kNbphhBR6eC+t6WLC0fERVA9bl+2/DQ5EoyM0s8xVUX+liTfQv8DXLga1OUYM3gxVZRZwinrRvpxbp3f/qQVDuIlrHqy7yof99P1QOsnNYewbDjgzEt3/dFK08t0wTIVPl/T4YYkdC2NmO5/vaQHRQjF/nedaeI+AucsteqE4/UqD8B6wUL00+UX5iD4SxDJjeeRWAxBmH8Z9JKRDr7ZjICWxEDT5/X2rRYyPRdug4XaSJyTfVsJ/5B58UBJph5BWhOhsZ90gkHojhKXd7LtMfe66eunn2OMlI0aaAqT822QSZQqI8fN7KkKppg/iAIOmW/ZrH1s+RTjpMOb9lQWDZewXHaZrG8Plakm/JSxKTlUm/bO+1VhEesz9NuXDRMhoC+iQwRUpJV3xepenueVhHZcfAzOdkAFOVwPnbDXjhMPzi6nJFiZU4OsjXSj7D+LGKAg3COv2r9Ao+Sxyi+XEhcw8XBPv3eq6vWN4jcVeijI1Sgv8dn8ywOaceEP4lh8lgj9T8ozFMG7dAdaeD6D4yp0zwe33XnfeNgKfBChft7gcrkJa+6EjWnzpUBUmA5VOF4OIXMp51vi+QdV2qfqvGsh04/twSDhx01qlP0lSrjDqbPj5FCsdONu3y33o/AIAj+OTHaapQBpodxTdPxSzv4iTMvd7/AhEtELnMPmul6NMksb79/Lnovul5oeRPZYewGLWaNHg1vs+grrNZXcZ4bKoWBn7ep2nte4Cu0glkAw6YyvgFxMrSlI7mf5mJZJuQlu7WcQxCBQIyP7+nBFoMuVM1VKar0KcxCfN1tOeHw3HEW+IQA6bN89b4Eubbzfy+FviSCT4tZ943lZ/1f409dTnHN1EBO7T4vYaY2Cvb2GpkYUDPF89wicWLEvnl0JEiyA39RAnYOna+JbluiifgNcxMea77nPIyJFeRpRLso9Cf3r1Xhpqrrf8xnTSJJt0nni5FkVHZ3tzHbTPVQBHmQ5Bb5DZ05RLG8kO2jHV+CKPvDQ+wv0ycr71CnobJAOs/W4j3kVUtBhO7kbLO1w/kyZpKNzZU/Qrm91T9h7S4mJvImq7UIP24N16s08xk/03UEMTQXj70KOER86iPln8TuiT1oM/TZWcVhhK9Vo7UUSteHGOrnyw1kp54xD/74dNxEAXDkuXfuPq9T0i0Q74au412DUgi5/taF/SUeLU0JFPdIXhgM2dWMmXnOepBSZGD6S2WuxJOPdOTuaVCI8z6AZptO4ksb3os23WJJdPAzj3zHkMD5jG32BOECF1IUa049JKPhFC5jEqTN5R0C2NkDnkBEYKg9ASNTNComyyRGCTW+2mFzXFzv1iqdXH/gEaQ+DPTqJGc1JiH+Qf1YVjnSTW1m5XeFW4aiotV7UfNYWrgporzeJeOHs84zBKHVfDlcN6h56J3d29eZqfBByd5yi/XX1OO9s7o60EtSOEieLRR5t4tsmXO7NqWivEhFYLzniRVmuzUZzKtKXjlESID2/DhjP9zpn3b+4UPjBoCupbSeYGGTD+K77bOxNBpZbklavi9LOE+oA7YFvzzc9ElhwhDt91GNql3Dwg12+pxiMB1r8Pt8/Gd8dvfXKDHaTVUvTA2BLA9pNJQBIRtv3SM+SoIwY7LNvegPA2Bqp60XH2f8UDQJaCuY3A1S+ZuLSXOomlOe28CR0A/luBggT3mEawLcIs4PdgCC8wycEmIIW1geIxh4QvOS/U8VbbkDNnel8KzYCHEr4nbUl6HYAQ/ZOHuyILiX7ZxSIomC87vicE+yYyVhH/gOplE9K/bm+2RDaf2uhVbOv9bszV3dVyjOGFXkszmSX/s3/AnQ8fi2oqKln8LdIygWqBIox824BHupei/ietH6hUFcYSTsFmY= | |||
/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCW1I/HueTuOJOcD40MLI2D0tMGBACgOQKJ6uY/zxinGkLrJDCtdmDmvCeR1n1Hv+sdVxRY8tWYGGLijvZWhOzTx+NIPsCCPxG2JhtyMdOmPXaw9rO2jOmxYYzqi+uTe4RSnvmlg2X5u1T39xZueFOnurq+m5Q3v1PRYgqU2LlZXdR+P4SwRnjM07xrUsBgEyB6DIJlrLWpuf3zIYTNaGpbsC4ELycWtPudfCVNDLSxlrKZyc9NpAT04XeJAwX8Lq2tp4OKijLU76pLxi1ISQOg2kkl+XdtRfktDNPOFSDAsFtMo4DoqH/YXyMh/Pa0dVcaDEkCdaDGD6QLi7OMnDephI7djzAxy1gTzaF3z4mGYx2zBU4lgOKBQi4IqPYP34yJnakvc7w6vYlbWwTSIZveu98wVuSo+z3C0CSK8MwitpWfFKvL9fb3kyvXuRKe9EU9gFfugDOl+kNbphhBR6eC+t6WLC0fERVA9bl+2/DQ5EoyM0s8xVUX+liTfQv8DXLga1OUYM3gxVZRZwinrRvpxbp3f/qQVDuIlrHqy7yof99P1QOsnNYewbDjgzEt3/dFK08t0wTIVPl/T4YYkdC2NmO5/vaQHRQjF/nedaeI+AucsteqE4/UqD8B6wUL00+UX5iD4SxDJjeeRWAxBmH8Z9JKRDr7ZjICWxEDT5/X2rRYyPRdug4XaSJyTfVsJ/5B58UBJph5BWhOhsZ90gkHojhKXd7LtMfe66eunn2OMlI0aaAqT822QSZQqI8fN7KkKppg/iAIOmW/ZrH1s+RTjpMOb9lQWDZewXHaZrG8Plakm/JSxKTlUm/bO+1VhEesz9NuXDRMhoC+iQwRUpJV3xepenueVhHZcfAzOdkAFOVwPnbDXjhMPzi6nJFiZU4OsjXSj7D+LGKAg3COv2r9Ao+Sxyi+XEhcw8XBPv3eq6vWN4jcVeijI1Sgv8dn8ywOaceEP4lh8lgj9T8ozFMG7dAdaeD6D4yp0zwe33XnfeNgKfBChft7gcrkJa+6EjWnzpUBUmA5VOF4OIXMp51vi+QdV2qfqvGsh04/twSDhx01qlP0lSrjDqbPj5FCsdONu3y33o/AIAj+OTHaapQBpodxTdPxSzv4iTMvd7/AhEtELnMPmul6NMksb79/Lnovul5oeRPZYewGLWaNHg1vs+grrNZXcZ4bKoWBn7ep2nte4Cu0glkAw6YyvgFxMrSlI7mf5mJZJuQlu7WcQxCBQIyP7+nBFoMuVM1VKar0KcxCfN1tOeHw3HEW+IQA6bN89b4Eubbzfy+FviSCT4tZ943lZ/1f409dTnHN1EBO7T4vYaY2Cvb2GpkYUDPF89wicWLEvnl0JEiyA39RAnYOna+JbluiifgNcxMea77nPIyJFeRpRLso9Cf3r1Xhpqrrf8xnTSJJt0nni5FkVHZ3tzHbTPVQBHmQ5Bb5DZ05RLG8kO2jHV+CKPvDQ+wv0ycr71CnobJAOs/W4j3kVUtBhO7kbLO1w/kyZpKNzZU/Qrm91T9h7S4mJvImq7UIP24N16s08xk/03UEMTQXj70KOER86iPln8TuiT1oM/TZWcVhhK9Vo7UUSteHGOrnyw1kp54xD/74dNxEAXDkuXfuPq9T0i0Q74au412DUgi5/taF/SUeLU0JFPdIXhgM2dWMmXnOepBSZGD6S2WuxJOPdOTuaVCI8z6AZptO4ksb3os23WJJdPAzj3zHkMD5jG32BOECF1IUa049JKPhFC5jEqTN5R0C2NkDnkBEYKg9ASNTNComyyRGCTW+2mFzXFzv1iqdXH/gEaQ+DPTqJGc1JiH+Qf1YVjnSTW1m5XeFW4aiotV7UfNYWrgporzeJeOHs84zBKHVfDlcN6h56J3d29eZqfBByd5yi/XX1OO9s7o60EtSOEieLRR5t4tsmXO7NqWivEhFYLzniRVmuzUZzKtKXjlESID2/DhjP9zpn3b+4UPjBoCupbSeYGGTD+K77bOxNBpZbklavi9LOE+oA7YFvzzc9ElhwhDt91GNql3Dwg12+pxiMB1r8Pt8/Gd8dvfXKDHaTVUvTA2BLA9pNJQBIRtv3SM+SoIwY7LNvegPA2Bqp60XH2f8UDQJaCuY3A1S+ZuLSXOomlOe28CR0A/luBggT3mEawLcIs4PdgCC8wycEmIIW1geIxh4QvOS/U8VbbkDNnel8KzYCHEr4nbUl6HYAQ/ZOHuyILiX7ZxSIomC87vicE+yYyVhH/gOplE9K/bm+2RDaf2uhVbOv9bszV3dVyjOGFXkszmSX6v2XvMw5A90RceiM+MXObrAh89JOcWhtLkkFyfPKSX5vbEbdVKrvdWtuEH/0cUpKHpx1sdfHOKJDPpXD/zLqowlg+ahuxeC3FC6MR7TYGm9zXeUZWetqC9bKWtxbbc0O+IKUAB3kgpWZrZYQ/PNy+bSRuyrhZPFNVo2rLX5wXDyxod2nSGOKgzKLtX3pytCk6szGoPZ16hI1S6uYWdwFMEU+2cCBeSTkfgLQ0sewLb29k5DRbDxjpXX3AjcVugayUvXaHPlPtDXir8QMGgX72Y3ELPuaQ85u/abaiYioNpdnfOiiSOAnU04js1bDkufdCO25EKIq3mauMpIYed8sAUtl7pz2vO/j2zfqwB2sGbWfIAolFLl8fju6ot72RLr5AMNGl4mGjP3fUxifNMJCrcgx1hZtggGbSoFhVi5xeplFGAqH80INC8+fOlxOb1/Re3oM2fN8IEgu+fRM33d+WUjR9gA4SLvncsq8JzxUywkkdjd3y62Bb3iWFOzwKB6kUwZgs0uU9abz9lLPbOBzdDzAU7RSZzW1FWqi+vdX9JIhjnLyksXVdFQKPCN52vIgujyKgbckoCUrJt1oCjnC3kmupdr0v90NuCYXzFRcNMXV2RV+IWT5NRjpbmn2hHQW3fRoVdoSuihZmavtpool4BN9N4vaohNMAeB2DKQBcnnAlxBom9PJPLTTF/JsstcBFTXlY9zSod1uQjt9kVjRJmAFtENhL7+nQmwkKV07gCpGSu1L2R9D8KZxLYSXw4x6oGIg1B14BrmWo2Tt/Me/3B5mda9adH5oSFVEjrID0UPbwm8quRcKNdecI8DmimxhofG5ltVfM2XI2iNm2Zo+sHkgqowk06mObWhV6M6iT8+ron0yC5mFnnlqQk65FRbSDgPxHDHEfd8BM8SaKFZNpn+eW8eRxxH3kDOXGzrVCQYihRNkIw6rwUcaNbdQVFsQLj/pVR9YpsVjwrp4B0IXFg105sDDv2yuOwyUCiY9I/zHFX1dQGAz9XEkqE511OdaDPzt52Q114LZERZbBuwShJwMJ6DcdDSqbKqOwh7lB7CpV5dq4XxsvowOytNyOOOWKS4O9k3SR1ZH373ajD3XqBQ4mnLZ/NkTTzJHJtBZTnXeD1CnrT8HIq8SaT/k80aPVdzG8ssDY/Zps8fVYHqogo8Qf1FxHcSiUDuTI+s0pbHGSRPEkmtquBnlNBQGjYsxywiTFr7Fi6XEB2iyYtKoCn2jY+OwiUzIvpFGSnapKCGvJ1uEhgBdxVgk78974X1mvtGv8eNRBJH2Snuelr/Ysa856ysWLlb1QeVwmd/2DjoXwzXf7U7Qs8hXZIH1KWpY1kDpck4FUhBQ+l1r+ZUEIC/1y+uITslNbADaRgvvrk5wVYUm84tMMR8HG0Lth5Xr1mpLq55jtlA82uB5PRd8isDhxpm1OhLMtaEJlzXeUv29YgCHDMmts7suV5jxxx8lYRIYFQu9Z3mBxIhJfUT+apSPJvDNwyPv2HHst1ovhvq9CC62/Lkff0b6mtrjJKxVPvBjqnTqfxOCbIDAHGVwoskmQHScwznxvK74vqm9hPZZmTTM+vMvU/mM42r/K0yAJVIki4NSjvAdqin5xQdY2NtkBZtqt3bnycF0JkbCDUz7FWt4hgqCT0NfkneSUGWI0VnGr0Q0FiU1YbtzpNK/h1wo5MEPvuQtQ== |
@@ -1 +1 @@ | |||
zIU7s3Rawog= | |||
PIiCmqDq6wk= |
@@ -1 +1 @@ | |||
/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCPd+s16KzzZc3RYrVagEFqWUlC2NWJgBLtc+tMLc2HJkq++Ewf/5QYIWw0dwMY90kkel2nmqRBK0dWfVWDOZOpdcAY+4YOYSFG98a3Wg3WLDyR5VozZDPfA41720qsQqCR1q7YoyEApjVWEQyk+r9gLfaCY8Z1EtVtdmrzpENRhrpsyi0u4Kb2RDuUW7nDgf4qfJbApbw7KcEIljW7G5S/2rGejSLLcKezyMkYa/R6H7ltweb0eY2sSwLVr6ni04AQL7Cm6IqRTvkMQgQ3pwUqNZdMj317NiCeiOEcdSEXdh1l/Gq82ixIwOinrLehWRYmYqfOSfyPTA== | |||
/4OjQUpsGecll0xqHycz/L+lPK0LSkds3kpbfxPz8zCPd+s16KzzZc3RYrVagEFqWUlC2NWJgBLtc+tMLc2HJkq++Ewf/5QYIWw0dwMY90kkel2nmqRBK0dWfVWDOZOpdcAY+4YOYSFG98a3Wg3WLDyR5VozZDPfA41720qsQqCR1q7YoyEApjVWEQyk+r9gLfaCY8Z1EtUxembAlb3j7elM+qBGcYnXd5Pb8M4TpopE/5fZCldOXIzUoHW/wcqpiG3docnnCSsnNwonHPryUY00lQgo/ytfhc4ATmWyfe3XFi5eKUPysKgSA6SVxVNPKtHiMsDbUPWowwduuXkpX/OLQH4aBGWMnYIRob6ZzWMGg+f97YPw6g== |
@@ -1 +1 @@ | |||
<?xml version="1.0" encoding="utf-8"?><SystemFormatConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><ShowDelayDays>-100</ShowDelayDays><TableInfoMode>0</TableInfoMode><ShowLogDays>-10</ShowLogDays><TargetDBType>mysql</TargetDBType><StartGeneralVersion>0</StartGeneralVersion><StartWebApi>1</StartWebApi><WebApiUrl>http://localhost:8080/api</WebApiUrl></SystemFormatConfig> | |||
<?xml version="1.0" encoding="utf-8"?><SystemFormatConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><ShowDelayDays>-10</ShowDelayDays><TableInfoMode>1</TableInfoMode><ShowLogDays>-10</ShowLogDays><TargetDBType>mysql</TargetDBType><StartGeneralVersion>0</StartGeneralVersion><StartWebApi>0</StartWebApi><WebApiUrl>http://localhost:8080/api</WebApiUrl></SystemFormatConfig> |
@@ -0,0 +1,6 @@ | |||
记录时间:2024-12-31 17:11:59,040 线程ID:[9]- 错误描述:类名:AccessInstrumentData 方法名:.ctor 信息:未能找到路径“C:\Users\Li\Desktop\calorimeter.mdb”的一部分。 | |||
记录时间:2024-12-31 17:12:11,445 线程ID:[9]- 错误描述:类名:AccessInstrumentData 方法名:.ctor 信息:未能找到路径“C:\Users\Li\Desktop\calorimeter.mdb”的一部分。 | |||
记录时间:2024-12-31 17:12:15,138 线程ID:[9]- 错误描述:类名:MySQLDAL 方法名:GetTableStruct 信息:===-222-===CNAS_ANALYSIS_ASHSELECT * FROM CNAS_ANALYSIS_ASH Where 0=1 | |||
记录时间:2024-12-31 17:12:17,284 线程ID:[9]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:Unable to connect to any of the specified MySQL hosts. | |||
记录时间:2024-12-31 17:12:17,312 线程ID:[9]- 错误描述:类名:MySQLDAL 方法名:GetTableStruct 信息:Unable to connect to any of the specified MySQL hosts. | |||
记录时间:2024-12-31 17:12:55,175 线程ID:[9]- 错误描述:类名:AccessInstrumentData 方法名:.ctor 信息:未能找到路径“C:\Users\Li\Desktop\calorimeter.mdb”的一部分。 |
@@ -0,0 +1 @@ | |||
记录时间:2025-01-31 22:35:47,976 线程ID:[9]- 错误描述:类名:FormSizeHelper 方法名:Init 信息:“<”是意外的标记。标记应为“>”。 第 4 行,位置 1。 |
@@ -0,0 +1,22 @@ | |||
记录时间:2025-02-12 08:27:08,398 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3113-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-12 08:27:08,404 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-12 08:27:08,406 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:27:08,475 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3333-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:27:08,476 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3443-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:27:47,053 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3113-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-12 08:27:47,058 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-12 08:27:47,059 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:27:47,084 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3333-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:27:47,085 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3443-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:34:55,503 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3113-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-12 08:34:55,509 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-12 08:34:55,510 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:34:55,540 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3333-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:34:55,540 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3443-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:41:01,437 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3113-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-12 08:41:01,442 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-12 08:41:01,444 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:41:01,482 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3333-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:41:01,483 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3443-===select * FROM macaddress WHERE MAC_ADDRESS='74-13-EA-0C-EB-71'System.Data.DataSet | |||
记录时间:2025-02-12 08:41:10,942 线程ID:[1]- 错误描述:类名:AccessInstrumentData 方法名:.ctor 信息:未能找到路径“C:\Users\Li\Desktop\calorimeter.mdb”的一部分。 | |||
记录时间:2025-02-12 11:09:03,674 线程ID:[1]- 错误描述:类名:AccessInstrumentData 方法名:.ctor 信息:未能找到路径“C:\Users\Li\Desktop\calorimeter.mdb”的一部分。 |
@@ -0,0 +1,33 @@ | |||
记录时间:2025-02-13 10:00:47,358 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3113-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='test'server=localhost;port=3306;user=root;password=1;database=test;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-13 10:00:47,364 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='test'server=localhost;port=3306;user=root;password=1;database=test;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-13 10:00:47,365 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='test'System.Data.DataSet | |||
记录时间:2025-02-13 10:00:47,394 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3333-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='test'System.Data.DataSet | |||
记录时间:2025-02-13 10:00:47,395 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3443-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='test'System.Data.DataSet | |||
记录时间:2025-02-13 10:00:47,395 线程ID:[1]- 错误描述:类名:MySQLDAL 方法名:GetAllTableNameAndStructure 信息:===---===stuGetTableStruct(strTableName, ) | |||
记录时间:2025-02-13 10:00:47,395 线程ID:[1]- 错误描述:类名:MySQLDAL 方法名:GetTableStruct 信息:===-222-===stuSELECT * FROM stu Where 0=1 | |||
记录时间:2025-02-13 10:00:47,396 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3113-===SELECT * FROM stu Where 0=1server=localhost;port=3306;user=root;password=1;database=test;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-13 10:00:47,396 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===SELECT * FROM stu Where 0=1server=localhost;port=3306;user=root;password=1;database=test;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-13 10:00:47,396 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===SELECT * FROM stu Where 0=1System.Data.DataSet | |||
记录时间:2025-02-13 10:00:47,398 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3333-===SELECT * FROM stu Where 0=1System.Data.DataSet | |||
记录时间:2025-02-13 10:00:47,399 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3443-===SELECT * FROM stu Where 0=1System.Data.DataSet | |||
记录时间:2025-02-13 10:00:47,399 线程ID:[1]- 错误描述:类名:MySQLDAL 方法名:GetTableStruct 信息:===-333-===stuMySQLHelper.ExecuteDataSet(strSql)Table | |||
记录时间:2025-02-13 10:00:50,656 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:Access denied for user ''@'localhost' (using password: NO) | |||
记录时间:2025-02-13 10:00:50,661 线程ID:[1]- 错误描述:类名:MySQLDAL 方法名:GetTableNames 信息:Access denied for user ''@'localhost' (using password: NO) | |||
记录时间:2025-02-13 10:01:12,615 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3113-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='test'server=localhost;port=3306;user=root;password=1;database=test;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-13 10:01:12,615 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='test'server=localhost;port=3306;user=root;password=1;database=test;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-13 10:01:12,615 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='test'System.Data.DataSet | |||
记录时间:2025-02-13 10:01:12,616 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3333-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='test'System.Data.DataSet | |||
记录时间:2025-02-13 10:01:12,617 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3443-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='test'System.Data.DataSet | |||
记录时间:2025-02-13 10:01:12,617 线程ID:[1]- 错误描述:类名:MySQLDAL 方法名:GetAllTableNameAndStructure 信息:===---===stuGetTableStruct(strTableName, ) | |||
记录时间:2025-02-13 10:01:12,617 线程ID:[1]- 错误描述:类名:MySQLDAL 方法名:GetTableStruct 信息:===-222-===stuSELECT * FROM stu Where 0=1 | |||
记录时间:2025-02-13 10:01:12,618 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3113-===SELECT * FROM stu Where 0=1server=localhost;port=3306;user=root;password=1;database=test;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-13 10:01:12,618 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===SELECT * FROM stu Where 0=1server=localhost;port=3306;user=root;password=1;database=test;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-13 10:01:12,618 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===SELECT * FROM stu Where 0=1System.Data.DataSet | |||
记录时间:2025-02-13 10:01:12,619 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3333-===SELECT * FROM stu Where 0=1System.Data.DataSet | |||
记录时间:2025-02-13 10:01:12,619 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3443-===SELECT * FROM stu Where 0=1System.Data.DataSet | |||
记录时间:2025-02-13 10:01:12,619 线程ID:[1]- 错误描述:类名:MySQLDAL 方法名:GetTableStruct 信息:===-333-===stuMySQLHelper.ExecuteDataSet(strSql)Table | |||
记录时间:2025-02-13 10:01:15,908 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3113-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='cnas'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-13 10:01:15,908 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='cnas'server=localhost;port=3306;user=root;password=1;database=cnas;CharSet=utf8;Allow User Variables=True | |||
记录时间:2025-02-13 10:01:15,908 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3223-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='cnas'System.Data.DataSet | |||
记录时间:2025-02-13 10:01:15,911 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3333-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='cnas'System.Data.DataSet | |||
记录时间:2025-02-13 10:01:15,911 线程ID:[1]- 错误描述:类名:MySQLHelper 方法名:ExecuteDataSet 信息:===-3443-===SELECT table_name as TABNAME FROM information_schema.TABLES WHERE table_schema='cnas'System.Data.DataSet |
@@ -0,0 +1,14 @@ | |||
记录时间:2025-02-13 09:50:13,804 线程ID:[1]- 信息描述:类名:SyncServiceOperation 方法名:Start 信息:SyncSerivce:服务启动 | |||
记录时间:2025-02-13 10:02:14,564 线程ID:[9]- 信息描述:类名:SyncServiceOperation 方法名:timerSync_Elapsed 信息:定时器启动 | |||
记录时间:2025-02-13 10:02:14,565 线程ID:[9]- 信息描述:类名:SyncServiceOperation 方法名:timerSync_Elapsed 信息:清理过期日志 | |||
记录时间:2025-02-13 10:02:14,600 线程ID:[9]- 信息描述:类名:SyncServiceOperation 方法名:ReadSyncInstruments 信息:读取到本地配置信息行数1 | |||
记录时间:2025-02-13 10:02:14,609 线程ID:[9]- 信息描述:类名:SyncServiceOperation 方法名:RunSyncByInstrument 信息:准备根据日期字段查询筛选 | |||
记录时间:2025-02-13 10:02:14,765 线程ID:[9]- 信息描述:类名:SyncServiceOperation 方法名:RunSyncByInstrument 信息:读取上次最晚执行时间失败,请检查原因。 | |||
记录时间:2025-02-13 10:20:50,476 线程ID:[8]- 信息描述:类名:SyncServiceOperation 方法名:timerSync_Elapsed 信息:定时器启动 | |||
记录时间:2025-02-13 10:20:50,479 线程ID:[8]- 信息描述:类名:SyncServiceOperation 方法名:ReadSyncInstruments 信息:读取到本地配置信息行数1 | |||
记录时间:2025-02-13 10:20:50,481 线程ID:[8]- 信息描述:类名:SyncServiceOperation 方法名:RunSyncByInstrument 信息:准备根据日期字段查询筛选 | |||
记录时间:2025-02-13 10:20:51,854 线程ID:[8]- 信息描述:类名:SyncServiceOperation 方法名:RunSyncByInstrument 信息:读取上次最晚执行时间失败,请检查原因。 | |||
记录时间:2025-02-13 10:23:30,585 线程ID:[7]- 信息描述:类名:SyncServiceOperation 方法名:timerSync_Elapsed 信息:定时器启动 | |||
记录时间:2025-02-13 10:23:30,586 线程ID:[7]- 信息描述:类名:SyncServiceOperation 方法名:ReadSyncInstruments 信息:读取到本地配置信息行数1 | |||
记录时间:2025-02-13 10:23:30,586 线程ID:[7]- 信息描述:类名:SyncServiceOperation 方法名:RunSyncByInstrument 信息:准备根据日期字段查询筛选 | |||
记录时间:2025-02-13 10:23:34,404 线程ID:[7]- 信息描述:类名:SyncServiceOperation 方法名:RunSyncByInstrument 信息:读取上次最晚执行时间失败,请检查原因。 |
@@ -1,7 +1,7 @@ | |||
<?xml version="1.0" encoding="utf-8" ?> | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<configuration> | |||
<appSettings> | |||
<add key="TargetDBType" value="MYSQL" /> | |||
<add key="InitalOperationPwd" value="123456" /> | |||
<add key="TargetDBType" value="MYSQL"/> | |||
<add key="InitalOperationPwd" value="123456"/> | |||
</appSettings> | |||
</configuration> | |||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration> |
@@ -0,0 +1 @@ | |||
BFEBFBFF000B06A2_7413EA0CEB72_7613EA0CEB71_7413EA0CEB71_7413EA0CEB75 |