sql中,如何插入一列数字从1到100

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中,如何插入一列数字从1到100相关的知识,希望对你有一定的参考价值。

如题
谢谢了,能不能讲下,for i in 1 .. 100 loop,程序里面还能有..这样的?insert into table (field) values (i);---(field)是表名吗,要用括号括起来?create table hack (num number),例如这个空表,怎么给number赋值1-100

declare @i int
set @i = 1
while @i < 101
begin
insert into table (id) values (@i);
set @i = @i + 1
end

declare @i定义变量,在sql server 必须要用@才表示变量,赋值方法有两种
1. set @i = 1 --'给@i 赋值为1
2. select @i = 1 --'给@i 赋值为1

同学你真晕...Oracle 你早说嘛,语法很多不同的
begin
for i in 1 .. 100 loop
insert into table (field) values (i);
end loop;
end;
参考技术A --SQL2000用临时表处理效率高,SQL2005可用row_number
select top 100 id=identity(int,1,1) into # from syscolumns a,syscolumns b

insert table(ID)
select ID from #
参考技术B declare @i int
set @i = 1
while @i < 101
begin
insert into table (id) values (@i);
set @i = @i + 1
end
参考技术C 用循环

如何将选中的项目从checkedlistbox 插入SQL 数据库?

【中文标题】如何将选中的项目从checkedlistbox 插入SQL 数据库?【英文标题】:how to insert checked items from checkedlistbox to SQL database? 【发布时间】:2017-09-19 04:34:58 【问题描述】:

我正在尝试将选中列表框中的选中项目保存到我的 SQL 数据库中,并且我正在从同一个 SQL 数据库中填充我的选中列表框,到目前为止,我能够从选中列表框中获取选中项目的文本并将其保存在字符串然后我使用标签来显示我是否正在获取检查项目的文本及其工作,但是当我尝试将检查的数据插入数据库时​​,我收到错误“连接属性尚未初始化。”在 ExecuteNonQuery() 方法上。

导入 System.Data
导入 System.Data.SqlClient
公开课形式1
    Private Sub Form1_Load(sender As Object, e As EventArgs) 处理 MyBase.Load
        暗淡作为新的 SqlDataAdapter
        将 dt 调暗为新数据表
        Dim connectionString As String = "Server=DESKTOP-V12PTAV ;Database=test ;User Id=sa ;Password=wills8877"
        使用 conn 作为新的 SqlConnection(connectionString)
            conn.ConnectionString = 连接字符串
            conn.Open()
            暗淡 str 作为字符串
            str = "从 sem 中选择 sem1"
            da = 新 SqlDataAdapter(str, conn)
            dt = 新数据表
            da.填充(dt)
            CheckedListBox1.DataSource = dt
            CheckedListBox1.DisplayMember = "sem1"
            连接关闭()
        结束使用
    结束子


    Private Sub Button1_Click(sender As Object, e As EventArgs) 处理 Button1.Click


        暗淡 str 作为字符串
        将 cmd 调暗为新的 SqlCommand
        将 sql 调暗为字符串
        Dim connectionString As String = "Server=DESKTOP-V12PTAV ;Database=test ;User Id=sa ;Password=wills8877"
        使用 conn 作为新的 SqlConnection(connectionString)
            conn.Open()
            暗淡 itemChecked As Object
            对于 CheckedListBox1.CheckedItems 中已检查的每个项目
                str = itemChecked.item("sem1").ToString
                标签1.Text = str
                sql = "插入 pretab(pre) 值('" + str + "')"
                cmd.ExecuteNonQuery()
            下一个
            连接关闭()

        结束使用

    结束子
结束类

This error

【问题讨论】:

MySQL ?你确定吗? 不是 MySQL。请使用正确的标签。 【参考方案1】:

问题可能来自您的查询语法。试试这个:

sql = "insert into pretab(pre) values(@str)"
cmd.Parameters.AddWithValue("@str", str)            
cmd.ExecuteNonQuery()

哎呀..我刚刚意识到您忘记为您的命令分配连接。所以,请尝试添加以下语句:

cmd = New SqlCommand(sql, conn)

在执行你的命令之前。所以最终的代码应该是这样的:

sql = "insert into pretab(pre) values(@str)"

cmd = New SqlCommand(sql, conn)

cmd.Parameters.AddWithValue("@str", str) 

cmd.ExecuteNonQuery()

【讨论】:

我这样做了:- str = itemChecked.item("sem1").ToString Label1.Text = str sql = "insert into pretab(pre) values(@str)" cmd.Parameters.AddWithValue ("@str", str) cmd.ExecuteNonQuery() 对不起,我在上面修改了我的答案。请参考它并返回您的发现。干杯【参考方案2】:

首先我会在一个类中进行数据操作,例如(注意我专注于插入)。您需要将服务器和目录更改为 SQL-Server 上的服务器和目录。

Imports System.Data.SqlClient
Public Class Operations
    Private Server As String = "KARENS-PC"
    Private Catalog As String = "CheckedListBoxDatabase"
    Private ConnectionString As String = ""
    Public Sub New()
        ConnectionString = $"Data Source=Server;Initial Catalog=Catalog;Integrated Security=True"
    End Sub
    Public Function Read() As DataTable
        ' read rows for checked listbox here
    End Function
    Public Sub Insert(ByVal sender As List(Of String))
        Using cn As SqlConnection = New SqlConnection With .ConnectionString = ConnectionString
            Using cmd As SqlCommand = New SqlCommand With .Connection = cn, .CommandText = "insert into pretab(pre) values (@pre)"
                cmd.Parameters.Add(New SqlParameter With .ParameterName = "@pre", .SqlDbType = SqlDbType.NVarChar)
                cn.Open()
                For Each item In sender
                    cmd.Parameters("@pre").Value = item
                    cmd.ExecuteNonQuery()
                Next
            End Using
        End Using
    End Sub
End Class

表格代码

Public Class Form1
    Private ops As New Operations
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim Result = CheckedListBox1.Items.OfType(Of String).Where(Function(item, index) CheckedListBox1.GetItemChecked(index)).ToList
        ops.Insert(Result)
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        CheckedListBox1.DataSource = ops.Read
        CheckedListBox1.DisplayMember = "sem1"
    End Sub
End Class

【讨论】:

【参考方案3】:

您似乎没有提供与该命令的连接。您的代码是按钮单击

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim str As String
    Dim cmd As New SqlCommand
    Dim sql As String
    Dim connectionString As String = "Server=DESKTOP-V12PTAV ;Database=test ;User Id=sa ;Password=wills8877"
    Using conn As New SqlConnection(connectionString)
        conn.Open()
        Dim itemChecked As Object
        For Each itemChecked In CheckedListBox1.CheckedItems
            str = itemChecked.item("sem1").ToString
            Label1.Text = str
            sql = "insert into pretab(pre) values('" + str + "')"
            cmd.ExecuteNonQuery()
        Next
        conn.Close()

    End Using

End Sub

你需要做的是在cmd.ExecuteNonQuery()之前你需要为它提供一个连接cmd.connection = connectionString

这将消除cmd.ExecuteNonQuery() 错误。

【讨论】:

以上是关于sql中,如何插入一列数字从1到100的主要内容,如果未能解决你的问题,请参考以下文章

sql中往一个表中插入数据但是其中一列需要从另一张表查状态,求指导

如何在SQL数据库批量修改一列数据

如何把SQL server 表里插入转换科学计数法的方法。

如何从一个表中获取一列并插入到另一个表中

如何清除SQL中的自增列并插入一组从1开始的新数字? [复制]

如何清除SQL中的自增列并插入一组从1开始的新数字? [复制]