C#编程,实战演习,由简入繁,逐个击破,世上无难事
ztj100 2024-12-10 22:19 19 浏览 0 评论
通过下面几个实例,你会信心满满迎接C#编程,只要肯学,世上无难事。
Form窗体类属性:
BackColor:背景色
BackGroundImage:背景图像
Cursor:光标显示
Font:字体
ForeColor:前景色
FormBorderStyle:框线样式
RightToLeft:从右到左字体
Text:标题
Enabled:响应用户
AcceptButton:设置按下按钮
DesktopLocation:设置窗体位置
MaximizeBox:显示最大化按钮
MinimizeBox:最小化按钮
StartPosition:开始位置
Opacity:透明度
设置窗体的大小:
通过属性列表中size展开后可以对width宽度和height高度进行设置,直接输入数值:
对于窗体大小的设置也可直接用鼠标拖动窗体改变大小,但是在窗体运行时,要让窗体根据填装的控件进行进行自动改变,就要使用AutoSize和AutoSizeMode属性,将属性列表中的AutoSize设置为True:
AutoSizeMode有两个枚举成员,它们分别是GrowAndShrink和GrowOnly,如果选择前者,则窗体不能手动调整,它根据窗体中控件的大小进行自动放大或者缩小,而选择后者,窗体会增大到能够包括所有控件,但是不会缩小设置好的Size值:
窗体运行后的位置:
可通过StartPosition属性来设置,有一种枚举类型:
Manual:表示窗体的位置由Location属性来决定
CenterScreen:显示屏幕的中央位置
WindowDefaultLocation:按windows的默认范围与大小
WindowsDefaultBounds:按windows默认范围
CenterParent:居于父窗体中央
窗体常用方法:
Activate():激活窗体
ActivateMdiChild():激活MDI窗体
Addownedform():加入附属窗体
Centertoparen():窗体位置居于父窗体中央
Centertoscreen():位置居于屏幕中央
Close():关闭窗体
Focus():设置控件的输入焦点
Onclose():触发Closed事件
Onclosing():触发Closing事件
Showdialog():将窗体显示为模式对话框
窗体常用事件:
除了窗体的属性和方法外,还有窗体的事件:
Load():加载窗体所触发的事件,能对变量和对象进行初始值的设置
Activated():激活窗体时,更新窗体控件中所显示的数据
Click():在窗体上单击进行触发事件
双击窗体进入Form1.cs程序代码编辑窗口,事件为“Form1_Load()”,在代码区域可以对已有窗体和控件进行初始设置,也可以建立新的窗体和新的控件对象,代码如下:
private void Form1_Load(object sender, EventArgs e)
{
//初始化已有对象
button1.ForeColor = Color.Red;
button1.BackColor = Color.Blue;
button1.ForeColor = Color.FromArgb(205, 110, 119);
button1.BackColor = Color.FromArgb(114, 110, 119);
label1.BorderStyle = BorderStyle.FixedSingle;
label2.BorderStyle = BorderStyle.FixedSingle;
label5.Size = new Size(141, 65);
label5.Text = "改变label控件大小";
label5.BorderStyle = BorderStyle.Fixed3D;
//建立新的对象
Form Form2 = new Form();//新建一个窗体Form2
Form2.Text = "新的窗体";//窗体标题栏显示的内容
Form2.FormBorderStyle = FormBorderStyle.Fixed3D;//窗体框线设置为对话框3D框线
Button btncancle = new Button();//新建一个按钮btncancle
btncancle.Text = "程序自动添加的按钮";//按钮显示的内容
btncancle.AutoSize = true;//按钮自动设置大小
btncancle.Location = new Point(100, 100);//按钮位置的设定
Form2.CancelButton = btncancle;//实现按钮的取消操作
Form2.Controls.Add(btncancle);//将按钮加到新建的窗体上
Form2.ShowDialog();//显示窗体
}
使用代码初始化已有对象时,分别对按钮的forecolor前景色和backgroupnd背景色进行了相应的颜色设置,同时对标签控件的borderstyle边框类型进行了fixedsingle单框线设置。同时还建立了新的窗体和按钮等对象,使用构造函数new form()来建立新的窗体form2,并对form2.text窗体标题内容进行设置,同时窗体边框线使用formborderstyle.fixed3D,同时在窗体上放置了一个按钮,并对按钮的大小位置等进行初始化设置,而这里面的的代码:
Form2.CancelButton = btncancle:使按钮实现关闭窗口功能
Form2.Controls.Add(btncancle):代码实现将按钮添加到form2窗体上
Form2.ShowDialog():代码功能是将窗体显示出来,以便用户能够看到
此时运行程序,看看效果:
直接弹出form2窗体,此时form1窗体已经被隐藏了起来,点击form2上的按钮后,则form2窗体关闭,出现了form1窗体:
此时的窗体及控件已经通过Form1_Load()加载事件进行了初始化设置。
在结束按钮下加入下列程序代码,实现退出程序:
private void button2_Click(object sender, EventArgs e)
{
Close();
}
MessageBox类的使用
MessageBox类可以用来进行显示消息,用到的方法是show(),下面就是单纯的进行消息的显示,即弹出消息对话框:
使用MessageBox.Show()方法时,括号内放入的内容都是字符串类型,并且将各种字符串进行了连接,程序运行时最终弹出了上面的消息框:
private void button1_Click(object sender, EventArgs e)
{
button1.ForeColor = Color.Red;
button1.BackColor = Color.Blue;
button1.ForeColor = Color.FromArgb (205,110,119);
button1.BackColor = Color.FromArgb(114, 110, 119);
label1.BorderStyle = BorderStyle.FixedSingle;
label2.BorderStyle = BorderStyle.FixedSingle;
string useraccount = textBox1.Text;//定义用户名变量
DateTime showtime = DateTime.Now;//当前时间
string savetime = showtime.ToShortTimeString();//时间转字符串
if (textBox1.Text == "")
MessageBox.Show("请输入账号");
else if (textBox2.Text == "")
MessageBox.Show("请输入密码");
else
MessageBox.Show("Hi" + " " + textBox1.Text + "\n现在时间:" + savetime, "消息框加标题", MessageBoxButtons.RetryCancel,MessageBoxIcon.Exclamation);
}
但实际上,MessageBox.Show()方法还可以对消息对话框加一个标题,下面这段程序即为消息对话框加了一个小标题:
MessageBox.Show("Hi"+" "+textBox1.Text+"\n现在时间:"+savetime,"消息框加标题");
在括号内加入一个逗号进行前后分割,然后再加入标题字符串即可,在消息框的标题栏的位置出现了刚刚加入的标题:
可以看到,在消息对话框上有一个“确定”按钮,还可以加入其它不同功能的按钮,这就需要在后面继续加入参数:
MessageBox.Show("Hi"+" "+textBox1.Text+"\n现在时间:"+savetime,"消息框加标题",MessageBoxButtons.OKCancel);
从下面弹出的消息框看到,在消息框上有两个按钮,这就是通过上面的程序代码段加入的“MessageBoxButtons.OKCancel”实现的:
当然除了MessageBoxButtons.OKCancel按钮成员还有几个成员,它们分别是:
AbortRetryIgnore、OK、RetryCancel、YesNo和YesNoCancel
下面这三种方法的效果:
MessageBoxButtons. RetryCancel的效果:
MessageBoxButtons. AbortRetryIgnore的效果:
MessageBoxButtons. YesNoCancel的效果:
以上消息对话框的响应按钮能与用户进行不同的响应,可根据需要进行选择MessageBoxButtons的不同枚举类型的成员。
再来看一下最后一个参数MessageBoxIcon的用法,这个参数是用来显示图标用的,它和MessageBoxButtons的用法类似,也有几个成员,它们分别是下面几种:
这些成员分别显示不同的图标,表明对话框目前显示的信息是什么类型的。,首先在程序代码段加入这个参数:
MessageBox.Show("Hi" + " " + textBox1.Text + "\n现在时间:" + savetime, "消息框加标题", MessageBoxButtons.RetryCancel,MessageBoxIcon.Information);
MessageBoxIcon.Information效果:
MessageBoxIcon.Exclamation效果:
MessageBox类实战
介绍完了MessageBox类的用法,那么如何对弹出的消息对话框上的按钮进行响应呢?
在响应操作时,每个按钮都有自己的返回值,程序当中可以使用if/else语句进行判断,下面通过实战来进行学习。
首先,添加几个必要的控件,一个label控件,两个radiobutton控件和一个button控件:
双击确定按钮,进入到程序代码编辑窗口,写入下面这段程序代码:
private void button3_Click(object sender, EventArgs e)
{
string message = "输入字符少于3个,请重新输入";//消息框弹出的消息
string account = "输入用户";//定义用户字符串
string password = "输入密码";//定义密码字符串
MessageBoxButtons btn1 = MessageBoxButtons.YesNo;//定义消息框弹出的消息按钮
MessageBoxButtons btn2 = MessageBoxButtons.OKCancel;//定义消息框弹出的消息按钮
MessageBoxIcon icon1 = MessageBoxIcon.Information;//定义消息框弹出的消息图标
MessageBoxIcon icon2 = MessageBoxIcon.Warning;//定义消息框弹出的消息图标
DialogResult result, confirm;//定义用户响应后的返回值
//下面这段代码是判断输入的用户名与密码是否符合条件,并利用自定义的函数将用户响应后的返回值传入参数当中,从而实现程序的判断运行
if (textBox1.Text.Length>=3)
{
if(textBox2.Text.Length>=3)
{
if(radiobutton1.Checked)
{
confirm = MessageBox.Show(textBox1.Text + radiobutton1.Text + " 您好! " + "\n密码: " + textBox2.Text,"资料正确");
getmessage(confirm);
}
else
{
confirm = MessageBox.Show(textBox1.Text + radiobutton2.Text + " 您好! " + "\n密码: " + textBox2.Text, "资料正确");
getmessage(confirm);
}
}
else
{
result = MessageBox.Show("密码" + message, password, btn2, icon2);
getmessage(result );
}
}
else
{
result = MessageBox.Show("用户" + message, account , btn1, icon1);
getmessage(result);
}
}
前面的这段程序代码:
string message = "输入字符少于3个,请重新输入":消息框弹出的消息
string account = "输入用户":定义用户字符串
string password = "输入密码":定义密码字符串
MessageBoxButtons btn1 = MessageBoxButtons.YesNo:定义消息框弹出的消息按钮
MessageBoxButtons btn2 = MessageBoxButtons.OKCancel:定义消息框弹出的消息按钮
MessageBoxIcon icon1 = MessageBoxIcon.Information:定义消息框弹出的消息图标
MessageBoxIcon icon2 = MessageBoxIcon.Warning:定义消息框弹出的消息图标
DialogResult result, confirm:定义用户响应后的返回值
这段代码完全是定义数据类型并赋予初值的过程,这里面用到了string、MessageBoxButtons、MessageBoxIcon和DialogResult不同对象类型,值得一提的是DialogResult定义了两个变量,它们分别是result和confirm,这两个变量是用户与消息对话框交互后的结果返回值,在下面这段代码处设置断点后,能够看出cofirm的值为DialogResult.OK:
而这个DialogResult.OK值是用户在消息对话框弹出后,用户点击确定按钮后的返回值,这里面还自定义了一个函数来实现不同返回值相应的操作:
private void getmessage(DialogResult outcome)
{
if(outcome==DialogResult.OK)//判断用户是否点击确定按钮
{
Application.Exit();//如果点击确定按钮,则退出程序
}
else if(outcome == DialogResult.Cancel)//判断用户是否点击取消按钮
{
textBox2.Clear();//如果点击取消按钮,则进入密码框内
textBox2.Focus();//光标移动到密码框内
}
else if(outcome == DialogResult.Yes)//判断用户是否点击是按钮
{
textBox1.Clear();//如果点击是按钮,是进入用户名输入框内
textBox1.Focus();//光标移动到用户框内
}
}
这个函数有一个参数,而这个参数就是从上面confirm和result传递过来的,当用户点击确定后则退出程序,否则进入到用户名和密码的重新输入状态。
运行程序,输入正确的用户名及密码后,点击确定按钮后:
这时点击确定后,程序直接退出。如果你输入了不符合条件的用户名:
点击按钮后,则用户名清空,光标移动到用户框内:
如果密码不符合规则,则提示密码重新输入:
此时点击取消按钮后,密码清空,光标移动到密码框内:
label标签控件实战
Label标签控件的几个常用属性,如borderstyle框线类型属性、font字体属性、forecolor前景颜色属性以及text和name属性等。下面我们再来看一下label控件的其它几个常用属性:
Autosize属性(自动调整大小):该属性的默认值为true,它可以根据标签字符串的大小来调整标签的宽度,那么将其属性值设置为false后,则不会进行调整。
此时标签根据内容调整:
将值改成false后:
也可以通过程序代码来实现:
Label5.autosize=true;
Label5.autosize=false;
还有一个与Autosize属性相关的size属性,它是依赖Autosize属性来设置的,当Autosize属性值为true时,则size属性不能够进行设置,只有当Autosize属性值为false时,size属性才能设置width宽度和height高度:
上面是通过属性窗口进行设置,也可以通过代码来设置:
Label5.autosize=false;//先进行autosize属性值的false设置
Label5.size=new size(141,65);//调用构造函数,来重新设置宽度和高度
label5.Text = "改变label控件大小";//label5控件上显示文本内容
label5.BorderStyle = BorderStyle.Fixed3D;//为了看到效果,设置边框线
运行效果:
Textalign属性(标签文字对齐)
该属性有九种对齐方式,分别是topleft、topmiddle、topright、middleleft、middlecenter、middleright、bottomleft、bottommiddle和bottomright。它们分别对应下面这九个格子:
其默认值为topleft:
对齐效果:
当选择topcenter时,按如下格式对齐:
对齐效果:
若要以程序代码编写,则可按下列代码方式:
label3.TextAlign = ContentAlignment.BottomCenter;
当然BottomCenter可以替换为其他几种格式:
Visible属性(控件是否显现于窗体上)
当程序运行时,设置控件是否出现在窗体上,其默认值为true,当值为false时,则程序运行时处于隐藏状态,并不可见:
在属性窗体将其值改为false,则运行程序控件不可见,下图的label3不见啦:
可通过编写代码实现:
label3.Visible = false;//运行时标签控件被隐藏了起来
label标签控件实例
创建windows窗体,在窗体上加入1个label标签控件、1个textbox文本框控件、1个button按钮控件和1个numericupdown微调按钮控件,需要实现的功能:通过输入借阅书籍每天的费用,调整借阅书籍的天数后,来计算学生借阅书籍的总费用,通过点击计算费用按钮,来实现在label控件上显示借阅总费用:
为了方便调用,在按钮触发事件代码编写前,先来建立一个读者类class reader,通过project项目菜单下的addclass增加类指令,来创建reader.cs文件,从而编写程序代码:
创建类文件:
进入代码区域:
class reader
{
//定义3个变量
public int total;
private int daymoney;
private int days;
//定义属性1
public int day
{
get { return days; }
set
{
days = value;
total = daymoney * days;
}
}
//定义属性2
public int DayMoney
{
get { return daymoney; }
set { daymoney = value; }
}
//定义构造函数
public reader (int money,int feemoney)
{
this.daymoney = feemoney;
day = money;
}
}
前面定义的3个变量total、daymoney和days分别存放总费用、每天费用和借阅天数。
而在C#里面比较特殊的是可以定义属性,在属性里面可以通过get和set对变量进行取值和设置值,在这个属性里面实现了总费用的计算,这要比建立函数省事的多,用法如下:
public int day
{
get { return days; }
set
{
days = value;
total = daymoney * days;
}
}
再看下面这个函数,它的功能是将传递过来的两个参数进行赋值,从而进行参数运算得到计算结果:
public reader (int money,int feemoney)
{
this.daymoney = feemoney;
day = money;
}
再来看计算结果按钮触发事件程序代码:
private void button4_Click(object sender, EventArgs e)
{
int daymoneys = 0;
if (textBox3.Text == "")
{
MessageBox.Show("请输入费用");
textBox3.Focus();
}
else
daymoneys = int.Parse(textBox3.Text);
int daynum = (int)numdays.Value;
mali = new reader(daynum, daymoneys);
lbl8.Visible = true;
lbl8.AutoSize = false;
lbl8.BackColor = Color.Pink;
lbl8.Size = new Size(350, 150);
lbl8.TextAlign = ContentAlignment.MiddleCenter;
lbl8.Text = string.Format("mali借阅书籍天数为{0},总费用为{1:C1}", mali.day, mali.total);
}
前面if…else语句:判断文本框内是否输入每天费用数据;
daymoneys = int.Parse(textBox3.Text):将文本框数据转换成int型;
int daynum = (int)numdays.Value:将微调按钮的值转换int型进行变量赋值;
mali = new reader(daynum, daymoneys):将输入的两个参数通过类进行传递;这里面的mali是定义的类对象,定义的位置位于类的前面:
reader mali;
下面这段代码是对label控件及其一些参数进行设置:
lbl8.Visible = true;
lbl8.AutoSize = false;
lbl8.BackColor = Color.Pink;
lbl8.Size = new Size(350, 150);
lbl8.TextAlign = ContentAlignment.MiddleCenter;
需要和值得注意的是这段代码:
lbl8.Text = string.Format("mali借阅书籍天数为{0},总费用为{1:C1}", mali.day, mali.total);
这里面用到两个特殊字符{0}和{1:C1},分别对应mali.day和mali.total两个变量,能够对应输出特定格式数据,涵义如下:
运行程序:
点击微调按钮选择借阅天数,在文本框输入费用,则点击计算费用按钮后,结果输出到label控件上。
ProgressBar进度条实战
你曾经在安装程序或者下载一个文件时,会出现一个信息画面,能够让用户知道安装或者下载的进度,这样的信息画面就是通过进度条来显示的,当程序运行的时间较长时,也可以加入进度条,通过图形化界面来提供某些程序操作的进度。
进度条控件:
进度条常见的属性和方法:
Miimum:默认值为0,设置progressbar进度条控件的最大值
Maximum:默认值为100,设置progressbar进度条控件的最小值
Value:默认值为0,设置progressbar进度条控件的实际进度值
Step:默认值为0,设置progressbar进度条控件每次递增的步长值
Style:默认值为block,显示progressbar进度条的样式
Increment():指定progressbar进度条前移的位置
PerformStep():以Step属性值来显示进度条的刻度
在Style里面有以下三种可供选择,它们分别是:
Block:以数值刻度来表示
Continuous:只会显示进度,并不显示刻度
Margree:以跑马灯方式来显示,无法使用量化进度
使用编辑项:
StatusStrip控件本身并没有面板的功能,想要在面板上显示一些信息,必须加入面板,而toolStripStatusLabel对象提供了面板功能,再根据应用程序的需要来显示文字或者图标信息。
通过StatusStrip提供的“编辑项”,可以将对象进行重新排列,“编辑项”的用法如下。
启动编辑项:打开工具箱,双击StatusStrip控件加入到窗体上,并在窗体下面的格子里面也出现了StatusStrip控件的标识
点击编辑项:鼠标右键单击StatusStrip控件,选择Edit Items编辑项指令
设置项集合编辑器:展开编辑器后,选择statuslabel项→单击add添加按钮,则会加入toolStripStatusLabel1对象,并在成员中列出,也可以通过删除标识进行删除成员→设置成员的属性值
计时的timer控件:
timer控件是一个非常特殊的控件,它是windows窗体专有的,可以用来处理计时操作,在一定的时间间隔内可以改变画面上图片的位置,让它具有动画效果。
timer有哪些成员:
Enabled:默认值false,是否启动定时器,false为不启动,ture为启动
Interval:默认值0,设置定时器的间隔时间,1000表示1秒
Tick()事件:间隔时间内所触发的事件
实例:
程序在运行时,Timer控件是不显示的,因此,在程序窗体界面设计时,并不考虑Timer控件的参与。Tick()事件会根据Interval的时间周期值来不断的更新画面。
设计:在窗体上加入2个button控件和1个program控件,并进行相应的属性设置,加入StatusStrip控件后,右键单击进入编辑项后,选择statuslabel进行添加后,将toolStripStatusLabel1的autosize设置为false,将text属性值设置为“显示时间”,然后再加入一个toolStripStatusLabel2,也将其autosize设置为false将text属性值设置为“显示进度”
添加timer控件:并设置其属性,加入的timer控件不会显示在窗体上,它在窗体下方,是一个后台运行的组件
双击开始计时按钮进入代码编辑区,后编写下列代码:
timer1.Start();//启动计时器
button1.Enabled = false;//使按钮暂时不起作用
button2.Enabled = false;
完整的程序代码如下:
private void button1_Click(object sender, EventArgs e)
{
timer1.Start();//启动计时器
button1.Enabled = false;//使按钮暂时不可用
button2.Enabled = false;
}
进入窗体界面,双击timer控件,进入代码编辑区,编写下列代码:
progressBar1.Increment(20);//显示进度条位置
//在状态栏显示文字信息
toolStripStatusLabel2.Text = string.Concat(progressBar1.Value, "% 运行完成");
//显示日期
toolStripStatusLabel1.Text = DateTime.Now.ToShortDateString();
//判断是否完成
if(progressBar1.Value == progressBar1.Maximum )
{
//恢复按钮作用
button1.Enabled = true;
button2.Enabled = true;
timer1.Stop();
}
完整的程序代码如下:
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Increment(20);//显示进度条位置
toolStripStatusLabel1.Text = string.Concat(progressBar1.Value, "% 运行完成");
//显示日期
toolStripStatusLabel1.Text = DateTime.Now.ToShortDateString();
//判断是否完成
if(progressBar1.Value==progressBar1.Maximum)
{
//恢复按钮作用
button1.Enabled = true;
button2.Enabled = true;
timer1.Stop();
}
}
结束按钮加入下列代码:
private void button2_Click(object sender, EventArgs e)
{
Close();
}
运行程序:
点击开始计时后,可以看到程序完成的进度啦:
当全部完成后:
结语:喜欢的请关注、点赞、收藏、转发!
- 上一篇:C# Winform多语言切换
- 下一篇:C#-MDI窗体与单例模式 129
相关推荐
- sharding-jdbc实现`分库分表`与`读写分离`
-
一、前言本文将基于以下环境整合...
- 三分钟了解mysql中主键、外键、非空、唯一、默认约束是什么
-
在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。...
- MySQL8行级锁_mysql如何加行级锁
-
MySQL8行级锁版本:8.0.34基本概念...
- mysql使用小技巧_mysql使用入门
-
1、MySQL中有许多很实用的函数,好好利用它们可以省去很多时间:group_concat()将取到的值用逗号连接,可以这么用:selectgroup_concat(distinctid)fr...
- MySQL/MariaDB中如何支持全部的Unicode?
-
永远不要在MySQL中使用utf8,并且始终使用utf8mb4。utf8mb4介绍MySQL/MariaDB中,utf8字符集并不是对Unicode的真正实现,即不是真正的UTF-8编码,因...
- 聊聊 MySQL Server 可执行注释,你懂了吗?
-
前言MySQLServer当前支持如下3种注释风格:...
- MySQL系列-源码编译安装(v5.7.34)
-
一、系统环境要求...
- MySQL的锁就锁住我啦!与腾讯大佬的技术交谈,是我小看它了
-
对酒当歌,人生几何!朝朝暮暮,唯有己脱。苦苦寻觅找工作之间,殊不知今日之事乃我心之痛,难道是我不配拥有工作嘛。自面试后他所谓的等待都过去一段时日,可惜在下京东上的小金库都要见低啦。每每想到不由心中一...
- MySQL字符问题_mysql中字符串的位置
-
中文写入乱码问题:我输入的中文编码是urf8的,建的库是urf8的,但是插入mysql总是乱码,一堆"???????????????????????"我用的是ibatis,终于找到原因了,我是这么解决...
- 深圳尚学堂:mysql基本sql语句大全(三)
-
数据开发-经典1.按姓氏笔画排序:Select*FromTableNameOrderByCustomerNameCollateChinese_PRC_Stroke_ci_as//从少...
- MySQL进行行级锁的?一会next-key锁,一会间隙锁,一会记录锁?
-
大家好,是不是很多人都对MySQL加行级锁的规则搞的迷迷糊糊,一会是next-key锁,一会是间隙锁,一会又是记录锁。坦白说,确实还挺复杂的,但是好在我找点了点规律,也知道如何如何用命令分析加...
- 一文讲清怎么利用Python Django实现Excel数据表的导入导出功能
-
摘要:Python作为一门简单易学且功能强大的编程语言,广受程序员、数据分析师和AI工程师的青睐。本文系统讲解了如何使用Python的Django框架结合openpyxl库实现Excel...
- 用DataX实现两个MySQL实例间的数据同步
-
DataXDataX使用Java实现。如果可以实现数据库实例之间准实时的...
- MySQL数据库知识_mysql数据库基础知识
-
MySQL是一种关系型数据库管理系统;那废话不多说,直接上自己以前学习整理文档:查看数据库命令:(1).查看存储过程状态:showprocedurestatus;(2).显示系统变量:show...
- 如何为MySQL中的JSON字段设置索引
-
背景MySQL在2015年中发布的5.7.8版本中首次引入了JSON数据类型。自此,它成了一种逃离严格列定义的方式,可以存储各种形状和大小的JSON文档,例如审计日志、配置信息、第三方数据包、用户自定...
你 发表评论:
欢迎- 一周热门
-
-
MySQL中这14个小玩意,让人眼前一亮!
-
旗舰机新标杆 OPPO Find X2系列正式发布 售价5499元起
-
【VueTorrent】一款吊炸天的qBittorrent主题,人人都可用
-
面试官:使用int类型做加减操作,是线程安全吗
-
C++编程知识:ToString()字符串转换你用正确了吗?
-
【Spring Boot】WebSocket 的 6 种集成方式
-
PyTorch 深度学习实战(26):多目标强化学习Multi-Objective RL
-
pytorch中的 scatter_()函数使用和详解
-
与 Java 17 相比,Java 21 究竟有多快?
-
基于TensorRT_LLM的大模型推理加速与OpenAI兼容服务优化
-
- 最近发表
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)
- vmware17pro最新密钥 (34)
- mysql单表最大数据量 (35)